Skip to content

Commit bb90e12

Browse files
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
1 parent 11c83e1 commit bb90e12

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

libraries/ESP8266WebServer/src/ESP8266WebServer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ ESP8266WebServer::ESP8266WebServer(int port)
8181
}
8282

8383
ESP8266WebServer::~ESP8266WebServer() {
84+
close();
8485
if (_currentHeaders)
8586
delete[]_currentHeaders;
8687
_headerKeysCount = 0;
@@ -90,7 +91,6 @@ ESP8266WebServer::~ESP8266WebServer() {
9091
delete handler;
9192
handler = next;
9293
}
93-
close();
9494
}
9595

9696
void ESP8266WebServer::begin() {

0 commit comments

Comments
 (0)