1
0
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:
Earle F. Philhower, III 2018-02-14 07:50:26 -08:00 committed by GitHub
parent 11c83e1687
commit bb90e12ea0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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() {