Skip to content

Commit 96a2e92

Browse files
Fix leak in HTTPSClient (#2256)
Fixes #2254 The faked certificate was allocated but not deleted in certain cases. Make sure to clean up in the destructor.
1 parent 8cb8807 commit 96a2e92

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

libraries/HTTPClient/src/HTTPClient.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,11 @@ typedef std::vector<Cookie> CookieJar;
179179
class HTTPClient {
180180
public:
181181
HTTPClient() = default;
182-
~HTTPClient() = default;
182+
~HTTPClient() {
183+
if (_clientMade) {
184+
delete _clientMade;
185+
}
186+
}
183187
HTTPClient(HTTPClient&&) = default;
184188
HTTPClient& operator=(HTTPClient&&) = default;
185189

libraries/WiFi/src/WiFiClientSecureBearSSL.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ WiFiClientSecureCtx::~WiFiClientSecureCtx() {
123123
_client->unref();
124124
_client = nullptr;
125125
}
126+
if (_esp32_ta) {
127+
delete _esp32_ta;
128+
}
129+
126130
_cipher_list = nullptr; // std::shared will free if last reference
127131
_freeSSL();
128132
stack_thunk_del_ref();

0 commit comments

Comments
 (0)