From c7106cc57fd190479385eeb8217ede92afa6ceb4 Mon Sep 17 00:00:00 2001 From: David Girault Date: Tue, 16 Jan 2018 16:55:55 +0100 Subject: [PATCH] altcp_tls: fix pbuf leaked when handshake failed Signed-off-by: goldsimon --- 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 7e61bae0..466be388 100644 --- a/src/apps/altcp_tls/altcp_tls_mbedtls.c +++ b/src/apps/altcp_tls/altcp_tls_mbedtls.c @@ -894,6 +894,11 @@ altcp_mbedtls_close(struct altcp_pcb *conn) } state = (altcp_mbedtls_state_t *)conn->state; if (state != NULL) { + if (state->rx) { + /* free leftover (unhandled) rx pbufs */ + pbuf_free(state->rx); + state->rx = NULL; + } state->flags |= ALTCP_MBEDTLS_FLAGS_TX_CLOSED; if (state->flags & ALTCP_MBEDTLS_FLAGS_RX_CLOSED) { altcp_mbedtls_dealloc(conn);