mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-25 20:02:37 +03:00
Fix double-free in ESP8266WebServer (#4365)
In issue #4350, @mongozmaki found that the web server was accessing a deleted variable in the destructor. Implement his suggested change and move the close() before any freeing. Could also have simply NULL'd out the _currentHeaders member after freeing as well. Fixes issue #4350
This commit is contained in:
parent
11c83e1687
commit
bb90e12ea0
@ -81,6 +81,7 @@ ESP8266WebServer::ESP8266WebServer(int port)
|
||||
}
|
||||
|
||||
ESP8266WebServer::~ESP8266WebServer() {
|
||||
close();
|
||||
if (_currentHeaders)
|
||||
delete[]_currentHeaders;
|
||||
_headerKeysCount = 0;
|
||||
@ -90,7 +91,6 @@ ESP8266WebServer::~ESP8266WebServer() {
|
||||
delete handler;
|
||||
handler = next;
|
||||
}
|
||||
close();
|
||||
}
|
||||
|
||||
void ESP8266WebServer::begin() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user