From a5ff5cb9e4bffeb841b3d5e172bd4f408a690f9a Mon Sep 17 00:00:00 2001 From: Christopher Liebman Date: Sat, 9 Dec 2017 06:24:15 -0800 Subject: [PATCH 1/2] Add WiFiManagerParameter destructor to free new'd _value, it was allocated but never free'd --- WiFiManager.cpp | 6 ++++++ WiFiManager.h | 1 + 2 files changed, 7 insertions(+) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 97c9eea..9d6dc3e 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -44,6 +44,12 @@ void WiFiManagerParameter::init(const char *id, const char *placeholder, const c _customHTML = custom; } +WiFiManagerParameter::~WiFiManagerParameter() { + if (_value != NULL) { + delete _value; + } +} + const char* WiFiManagerParameter::getValue() { return _value; } diff --git a/WiFiManager.h b/WiFiManager.h index 5b37e44..9a599db 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -42,6 +42,7 @@ class WiFiManagerParameter { WiFiManagerParameter(const char *custom); WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length); WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + ~WiFiManagerParameter(); const char *getID(); const char *getValue(); From 5c6252fe45144a6fcd5d67cc9c47e27fde33daa2 Mon Sep 17 00:00:00 2001 From: Christopher Liebman Date: Sat, 9 Dec 2017 08:37:35 -0800 Subject: [PATCH 2/2] should use delete[] not delete --- WiFiManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 9d6dc3e..ae04fa9 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -46,7 +46,7 @@ void WiFiManagerParameter::init(const char *id, const char *placeholder, const c WiFiManagerParameter::~WiFiManagerParameter() { if (_value != NULL) { - delete _value; + delete[] _value; } }