From ff14bbb3c1f044abaac32945b905156be07d60ff Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Mon, 3 Dec 2018 07:14:02 +0100 Subject: [PATCH] altcp_tls_mbedtls: listen: free members of the ssl context The ssl context is not used on listening pcbs. This includes freeing input/output buffers, so saves ~32KByte by default. (cherry picked from commit 282389a3325d71e8c6ce7dbe1ceb3fd6875d9051) --- src/apps/altcp_tls/altcp_tls_mbedtls.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/apps/altcp_tls/altcp_tls_mbedtls.c b/src/apps/altcp_tls/altcp_tls_mbedtls.c index 574fcb93..ba8cce49 100644 --- a/src/apps/altcp_tls/altcp_tls_mbedtls.c +++ b/src/apps/altcp_tls/altcp_tls_mbedtls.c @@ -985,6 +985,11 @@ altcp_mbedtls_listen(struct altcp_pcb *conn, u8_t backlog, err_t *err) } lpcb = altcp_listen_with_backlog_and_err(conn->inner_conn, backlog, err); if (lpcb != NULL) { + altcp_mbedtls_state_t *state = (altcp_mbedtls_state_t *)conn->state; + /* Free members of the ssl context (not used on listening pcb). This + includes freeing input/output buffers, so saves ~32KByte by default */ + mbedtls_ssl_free(&state->ssl_context); + conn->inner_conn = lpcb; altcp_accept(lpcb, altcp_mbedtls_lower_accept); return conn;