From c707d0d32357aef10dec03476e1303183b401201 Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Wed, 25 Nov 2020 13:02:41 +0530 Subject: [PATCH] Fixed ssl_ctx not being freed at the time of error. Closes https://github.com/espressif/esp-idf/issues/6143 --- components/esp_https_server/src/https_server.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/esp_https_server/src/https_server.c b/components/esp_https_server/src/https_server.c index 31d2eefc5e..37037cdf79 100644 --- a/components/esp_https_server/src/https_server.c +++ b/components/esp_https_server/src/https_server.c @@ -175,6 +175,7 @@ static httpd_ssl_ctx_t *create_secure_context(const struct httpd_ssl_config *con if (!cfg->cacert_buf) { ESP_LOGE(TAG, "Could not allocate memory"); free(cfg); + free(ssl_ctx); return NULL; } memcpy((char *)cfg->cacert_buf, config->client_verify_cert_pem, config->client_verify_cert_len); @@ -186,6 +187,7 @@ static httpd_ssl_ctx_t *create_secure_context(const struct httpd_ssl_config *con ESP_LOGE(TAG, "Could not allocate memory"); free((void *)cfg->cacert_buf); free(cfg); + free(ssl_ctx); return NULL; } memcpy((char *)cfg->servercert_buf, config->cacert_pem, config->cacert_len); @@ -197,6 +199,7 @@ static httpd_ssl_ctx_t *create_secure_context(const struct httpd_ssl_config *con free((void *)cfg->servercert_buf); free((void *)cfg->cacert_buf); free(cfg); + free(ssl_ctx); return NULL; } memcpy((char *)cfg->serverkey_buf, config->prvtkey_pem, config->prvtkey_len);