forked from espressif/esp-idf
Merge branch 'fix/esp_tls_fix_memory_leak_v4.0' into 'release/v4.0'
esp-tls: Fix mem leak when global_ca_store is freed See merge request espressif/esp-idf!12087
This commit is contained in:
@@ -193,6 +193,7 @@ esp_err_t esp_tls_set_global_ca_store(const unsigned char *cacert_pem_buf, const
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
ESP_LOGE(TAG, "mbedtls_x509_crt_parse returned -0x%x", -ret);
|
ESP_LOGE(TAG, "mbedtls_x509_crt_parse returned -0x%x", -ret);
|
||||||
mbedtls_x509_crt_free(global_cacert);
|
mbedtls_x509_crt_free(global_cacert);
|
||||||
|
free(global_cacert);
|
||||||
global_cacert = NULL;
|
global_cacert = NULL;
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
} else if (ret > 0) {
|
} else if (ret > 0) {
|
||||||
@@ -211,6 +212,7 @@ void esp_tls_free_global_ca_store()
|
|||||||
{
|
{
|
||||||
if (global_cacert) {
|
if (global_cacert) {
|
||||||
mbedtls_x509_crt_free(global_cacert);
|
mbedtls_x509_crt_free(global_cacert);
|
||||||
|
free(global_cacert);
|
||||||
global_cacert = NULL;
|
global_cacert = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user