]> 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>
Thu, 21 Feb 2019 06:43:23 +0000 (06:43 +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 cf16ae65617e2cca02104e646a0d389781e12270..84d578b3c26d7959cb2c2b5ad2564e8df8b4c653 100644 (file)
@@ -2831,7 +2831,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) {