From: David Cermak Date: Thu, 14 Feb 2019 15:39:11 +0000 (+0100) Subject: mdns: fix memory leak when query for service receives multiple ptr entries for one... X-Git-Tag: v3.2-beta3^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b865e72aec96166c90d4580cdb94050bd53e6a75;p=esp-idf mdns: fix memory leak when query for service receives multiple ptr entries for one instance fixes redmine issue 27300 --- diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index 1626ffaeb8..1bce6db43f 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -2741,8 +2741,10 @@ void mdns_parse_packet(mdns_rx_packet_t * packet) if (search_result) { if (search_result->type == MDNS_TYPE_PTR) { - result->port = port; - result->hostname = strdup(name->host); + if (!result->hostname) { // assign host/port for this entry only if not previously set + result->port = port; + result->hostname = strdup(name->host); + } } else { _mdns_search_result_add_srv(search_result, name->host, port, packet->tcpip_if, packet->ip_protocol); }