From edbcb5b2951f7cb11b5803849e75ff64545abeff Mon Sep 17 00:00:00 2001 From: Max Holtzberg Date: Fri, 24 May 2019 23:31:44 +0200 Subject: [PATCH] esp_transport_destroy: Fix memory leak if tcp_transport component was used separately (e.g. using tranpsort_ssl.h directly without building list of transport) then it leaks memory on unitialization Merges https://github.com/espressif/esp-idf/pull/3541 Closes https://github.com/espressif/esp-idf/issues/3531 Signed-off-by: David Cermak --- components/tcp_transport/transport.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/tcp_transport/transport.c b/components/tcp_transport/transport.c index 44756e1d4..0626c1685 100644 --- a/components/tcp_transport/transport.c +++ b/components/tcp_transport/transport.c @@ -110,9 +110,6 @@ esp_err_t esp_transport_list_clean(esp_transport_list_handle_t list) esp_transport_handle_t tmp; while (item != NULL) { tmp = STAILQ_NEXT(item, next); - if (item->_destroy) { - item->_destroy(item); - } esp_transport_destroy(item); item = tmp; } @@ -137,6 +134,9 @@ esp_transport_handle_t esp_transport_get_payload_transport_handle(esp_transport_ esp_err_t esp_transport_destroy(esp_transport_handle_t t) { + if (t->_destroy) { + t->_destroy(t); + } if (t->scheme) { free(t->scheme); }