From 17e2f68e4388c4e528e4c158d3870d029d5646a6 Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Wed, 4 Dec 2019 11:12:17 +0800 Subject: [PATCH] Fixed bug where the event loop wouldn't get cleaned up during destroy. The event loop would never get deleted due to the event loop handle being cleared to 0 before checking if it exists. Closes https://github.com/espressif/esp-idf/issues/4433 Closes IDFGH-2293 --- mqtt_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mqtt_client.c b/mqtt_client.c index b21674a..5bd74a1 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -296,7 +296,6 @@ static esp_err_t esp_mqtt_destroy_config(esp_mqtt_client_handle_t client) free(cfg->alpn_protos[i]); } free(cfg->alpn_protos); - memset(cfg, 0, sizeof(mqtt_config_storage_t)); free(client->connect_info.will_topic); free(client->connect_info.will_message); free(client->connect_info.client_id); @@ -308,6 +307,7 @@ static esp_err_t esp_mqtt_destroy_config(esp_mqtt_client_handle_t client) esp_event_loop_delete(client->config->event_loop_handle); } #endif + memset(cfg, 0, sizeof(mqtt_config_storage_t)); free(client->config); return ESP_OK; }