From cec0701167b775365a989619c0294039de4ed5c8 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 7 Mar 2022 20:40:16 -0500 Subject: [PATCH] Fixes stream load memory leak in WifiSecureClient for SSL CACert, Certificate, and Private Key. Issue presented during any subsequent invocation of loadCACert, loadCertificate, and loadPrivateKey, respectively, after the first invocation. --- libraries/WiFiClientSecure/src/WiFiClientSecure.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp index 4f7bc80263d..b80221b0391 100644 --- a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp +++ b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp @@ -315,6 +315,7 @@ char *WiFiClientSecure::_streamLoad(Stream& stream, size_t size) { } bool WiFiClientSecure::loadCACert(Stream& stream, size_t size) { + if (_CA_cert != NULL) free(const_cast(_CA_cert)); char *dest = _streamLoad(stream, size); bool ret = false; if (dest) { @@ -325,6 +326,7 @@ bool WiFiClientSecure::loadCACert(Stream& stream, size_t size) { } bool WiFiClientSecure::loadCertificate(Stream& stream, size_t size) { + if (_cert != NULL) free(const_cast(_cert)); char *dest = _streamLoad(stream, size); bool ret = false; if (dest) { @@ -335,6 +337,7 @@ bool WiFiClientSecure::loadCertificate(Stream& stream, size_t size) { } bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size) { + if (_private_key != NULL) free(const_cast(_private_key)); char *dest = _streamLoad(stream, size); bool ret = false; if (dest) { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy