mdns: fix memory leak when query for service receives multiple ptr entries for one instance

fixes redmine issue 27300
This commit is contained in:
David Cermak 2019-02-14 16:39:11 +01:00
parent eb4d48815f
commit 9a4da97fb4

View file

@ -2741,8 +2741,10 @@ void mdns_parse_packet(mdns_rx_packet_t * packet)
if (search_result) { if (search_result) {
if (search_result->type == MDNS_TYPE_PTR) { if (search_result->type == MDNS_TYPE_PTR) {
result->port = port; if (!result->hostname) { // assign host/port for this entry only if not previously set
result->hostname = strdup(name->host); result->port = port;
result->hostname = strdup(name->host);
}
} else { } else {
_mdns_search_result_add_srv(search_result, name->host, port, packet->tcpip_if, packet->ip_protocol); _mdns_search_result_add_srv(search_result, name->host, port, packet->tcpip_if, packet->ip_protocol);
} }