diff --git a/WiFiManager.cpp b/WiFiManager.cpp index f751dae..6782b96 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -86,8 +86,12 @@ void WiFiManagerParameter::setValue(const char *defaultValue, int length) { // // return false; //@todo bail // } - _length = length; - _value = new char[_length + 1]; + if(_length != length){ + _length = length; + if( _value != nullptr) + delete _value; + _value = new char[_length + 1]; + } memset(_value, 0, _length + 1); // explicit null if (defaultValue != NULL) {