From 9abf5abdf64df973c7e8bf238f81a53e8cdc1d3a Mon Sep 17 00:00:00 2001 From: tablatronix <807787+tablatronix@users.noreply.github.com> Date: Wed, 31 Aug 2022 15:34:20 -0500 Subject: [PATCH] fixes #1206 --- WiFiManager.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 6f699fa..a942019 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -32,7 +32,7 @@ WiFiManagerParameter::WiFiManagerParameter(const char *custom) { _id = NULL; _label = NULL; _length = 1; - _value = NULL; + _value = nullptr; _labelPlacement = WFM_LABEL_DEFAULT; _customHTML = custom; } @@ -58,6 +58,7 @@ void WiFiManagerParameter::init(const char *id, const char *label, const char *d _label = label; _labelPlacement = labelPlacement; _customHTML = custom; + _value = nullptr; setValue(defaultValue,length); } @@ -86,8 +87,14 @@ 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) {