]> granicus.if.org Git - esp-idf/commitdiff
mdns: fix malfuctional query_txt
authorDavid Cermak <cermak@espressif.com>
Fri, 15 Feb 2019 12:46:51 +0000 (13:46 +0100)
committerbot <bot@espressif.com>
Wed, 6 Mar 2019 06:28:55 +0000 (06:28 +0000)
when running a query for a single txt, result entries were not created and attached to result structure. this issue was introduced when fixing memory leak in txt structure, which worked correctly for PTR queries, but caused trouble for TXT query.

components/mdns/mdns.c

index eb6af498ccac33ccc92afe37c95736cea36cb67e..ad0da2eba0ce5a98f5953ca3200aedb79939d8a7 100644 (file)
@@ -2816,7 +2816,10 @@ void mdns_parse_packet(mdns_rx_packet_t * packet)
                             }
                         }
                     } else {
-                        _mdns_search_result_add_txt(search_result, txt, txt_count, packet->tcpip_if, packet->ip_protocol);
+                        _mdns_result_txt_create(data_ptr, data_len, &txt, &txt_count);
+                        if (txt_count) {
+                            _mdns_search_result_add_txt(search_result, txt, txt_count, packet->tcpip_if, packet->ip_protocol);
+                        }
                     }
                 } else if (ours) {
                     if (parsed_packet->questions && !parsed_packet->probe) {