From 3d4349767512bcffcd895d596db86323137ba713 Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Fri, 5 Jun 2015 12:57:00 +0200 Subject: [PATCH] do check if ssid is an empty String "" use strdup to save some flash #386 part 2 --- .../esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp | 4 ++-- .../libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp b/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp index 11a1c11ee..720bfc1b4 100644 --- a/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp +++ b/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp @@ -68,7 +68,7 @@ int ESP8266WiFiClass::begin(const char* ssid, const char *passphrase, int32_t ch mode(WIFI_STA); } - if(!ssid || strlen(ssid) > 31) { + if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { // fail SSID to long or missing! return WL_CONNECT_FAILED; } @@ -154,7 +154,7 @@ void ESP8266WiFiClass::softAP(const char* ssid, const char* passphrase, int chan mode(WIFI_AP); } - if(!ssid || strlen(ssid) > 31) { + if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { // fail SSID to long or missing! return; } diff --git a/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp b/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp index 91f03bbc0..34f249637 100644 --- a/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp +++ b/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp @@ -25,6 +25,7 @@ #include "ESP8266WiFiMulti.h" #include +#include ESP8266WiFiMulti::ESP8266WiFiMulti() { } @@ -151,7 +152,7 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) { WifiAPlist_t newAP; - if(!ssid || strlen(ssid) > 31) { + if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { // fail SSID to long or missing! return false; } @@ -161,21 +162,18 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) { return false; } - newAP.ssid = (char*) malloc((strlen(ssid) + 1)); + newAP.ssid = strdup(ssid); if(!newAP.ssid) { return false; } - strcpy(newAP.ssid, ssid); - if(passphrase && *passphrase != 0x00) { - newAP.passphrase = (char*) malloc((strlen(passphrase) + 1)); + newAP.passphrase = strdup(passphrase); if(!newAP.passphrase) { free(newAP.ssid); return false; } - strcpy(newAP.passphrase, passphrase); } APlist.push_back(newAP);