From daeca8128b9b33826de70e01079ea10dfa73f426 Mon Sep 17 00:00:00 2001 From: "Sergio R. Caprile" Date: Tue, 23 Sep 2025 11:31:10 -0300 Subject: [PATCH] add call to mbedtls_psa_free()for MbedTLS >= 3, defaulting to TLS 1.3, retroactively documented in 3.6.1 --- mongoose.c | 4 ++++ src/tls_mbed.c | 4 ++++ 2 files changed, 8 insertions(+) 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;