Merge branch 'bugfix/smtp_client' into 'master'

smtp_client: Fix heap leakage

Closes IDFGH-7167

See merge request espressif/esp-idf!17777
This commit is contained in:
Mahavir Jain
2022-04-14 20:53:13 +08:00

View File

@@ -88,6 +88,7 @@ static int write_and_get_response(mbedtls_net_context *sock_fd, unsigned char *b
do {
len = DATA_SIZE - 1;
memset(data, 0, DATA_SIZE);
ret = mbedtls_net_recv(sock_fd, data, len);
if (ret <= 0) {
@@ -141,6 +142,7 @@ static int write_ssl_and_get_response(mbedtls_ssl_context *ssl, unsigned char *b
do {
len = DATA_SIZE - 1;
memset(data, 0, DATA_SIZE);
ret = mbedtls_ssl_read(ssl, data, len);
if (ret == MBEDTLS_ERR_SSL_WANT_READ || ret == MBEDTLS_ERR_SSL_WANT_WRITE) {
@@ -470,8 +472,12 @@ static void smtp_client_task(void *pvParameters)
ret = 0; /* No errors */
exit:
mbedtls_ssl_session_reset(&ssl);
mbedtls_net_free(&server_fd);
mbedtls_x509_crt_free(&cacert);
mbedtls_ssl_free(&ssl);
mbedtls_ssl_config_free(&conf);
mbedtls_ctr_drbg_free(&ctr_drbg);
mbedtls_entropy_free(&entropy);
if (ret != 0) {
mbedtls_strerror(ret, buf, 100);