diff --git a/mongoose.c b/mongoose.c index 5bdf0dbb..9eff992c 100644 --- a/mongoose.c +++ b/mongoose.c @@ -14295,6 +14295,10 @@ void mg_tls_free(struct mg_connection *c) { mbedtls_ssl_config_free(&tls->conf); #ifdef MBEDTLS_SSL_SESSION_TICKETS mbedtls_ssl_ticket_free(&tls->ticket); +#endif +#if defined(MBEDTLS_VERSION_NUMBER) && MBEDTLS_VERSION_NUMBER >= 0x03000000 && \ + defined(MBEDTLS_PSA_CRYPTO_C) + mbedtls_psa_crypto_free(); // https://github.com/Mbed-TLS/mbedtls/issues/9223#issuecomment-2144898336 #endif mg_free(tls); c->tls = NULL; diff --git a/src/tls_mbed.c b/src/tls_mbed.c index 0c466ef2..ac7321e2 100644 --- a/src/tls_mbed.c +++ b/src/tls_mbed.c @@ -58,6 +58,10 @@ void mg_tls_free(struct mg_connection *c) { mbedtls_ssl_config_free(&tls->conf); #ifdef MBEDTLS_SSL_SESSION_TICKETS mbedtls_ssl_ticket_free(&tls->ticket); +#endif +#if defined(MBEDTLS_VERSION_NUMBER) && MBEDTLS_VERSION_NUMBER >= 0x03000000 && \ + defined(MBEDTLS_PSA_CRYPTO_C) + mbedtls_psa_crypto_free(); // https://github.com/Mbed-TLS/mbedtls/issues/9223#issuecomment-2144898336 #endif mg_free(tls); c->tls = NULL;