From d20da7c15d4a038f9a9ec625d6efe96e665d8a6a Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Mon, 10 Feb 2020 12:08:29 +0100 Subject: [PATCH] - TLS: fixed memory leak when TLS authentication fails --- hal/tls/mbedtls/tls_mbedtls.c | 3 +++ src/mms/iso_server/iso_server.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/hal/tls/mbedtls/tls_mbedtls.c b/hal/tls/mbedtls/tls_mbedtls.c index b7b90126..93911f68 100644 --- a/hal/tls/mbedtls/tls_mbedtls.c +++ b/hal/tls/mbedtls/tls_mbedtls.c @@ -388,6 +388,9 @@ TLSSocket_create(Socket socket, TLSConfiguration configuration, bool storeClient { DEBUG_PRINT("TLS", "mbedtls_ssl_handshake returned %d\n\n", ret ); + mbedtls_ssl_config_free(&(self->conf)); + mbedtls_ssl_free(&(self->ssl)); + GLOBAL_FREEMEM(self); return NULL; diff --git a/src/mms/iso_server/iso_server.c b/src/mms/iso_server/iso_server.c index d07aa5de..07e89acd 100644 --- a/src/mms/iso_server/iso_server.c +++ b/src/mms/iso_server/iso_server.c @@ -521,7 +521,9 @@ handleIsoConnections(IsoServer self, bool isSingleThread) if (isSingleThread == false) IsoConnection_start(isoConnection); } - + else { + Socket_destroy(connectionSocket); + } } if (isSingleThread)