]> granicus.if.org Git - esp-idf/commitdiff
mdns: fixed static memory leak
authorDavid Cermak <cermak@espressif.com>
Mon, 10 Dec 2018 15:42:10 +0000 (16:42 +0100)
committerDavid Cermak <cermak@espressif.com>
Fri, 21 Dec 2018 15:26:39 +0000 (16:26 +0100)
components/mdns/mdns.c

index 4ad1da3ee5f498bc034dff2ff8387729196c8952..d4fbd594943e3266324b6b6675b671f5c18caaab 100644 (file)
@@ -3964,6 +3964,7 @@ static esp_err_t _mdns_service_task_stop()
 {
     MDNS_SERVICE_LOCK();
     _mdns_stop_timer();
+    MDNS_SERVICE_UNLOCK();
     if (_mdns_service_task_handle) {
         mdns_action_t action;
         mdns_action_t * a = &action;
@@ -3976,7 +3977,6 @@ static esp_err_t _mdns_service_task_stop()
             vTaskDelay(10 / portTICK_PERIOD_MS);
         }
     }
-    MDNS_SERVICE_UNLOCK();
     return ESP_OK;
 }
 
@@ -4066,8 +4066,8 @@ void mdns_free()
     if (!_mdns_server) {
         return;
     }
-    _mdns_service_task_stop();
     mdns_service_remove_all(_mdns_server);
+    _mdns_service_task_stop();
     for (i=0; i<TCPIP_ADAPTER_IF_MAX; i++) {
         for (j=0; j<MDNS_IP_PROTOCOL_MAX; j++) {
             _mdns_pcb_deinit(i, j);