From 4fa130ae4fb5de99ddddc5a7bed7e26ae645591c Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Mon, 22 Jan 2018 13:17:59 +0100 Subject: [PATCH] mdns: Fix case where service is NULL and that will cause exception --- components/mdns/mdns.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index bc8a94e3fa..13368c3ed9 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -1304,6 +1304,10 @@ static mdns_tx_packet_t * _mdns_get_next_pcb_packet(tcpip_adapter_if_t tcpip_if, */ static void _mdns_remove_scheduled_answer(tcpip_adapter_if_t tcpip_if, mdns_ip_protocol_t ip_protocol, uint16_t type, mdns_srv_item_t * service) { + mdns_srv_item_t s = {NULL, NULL}; + if (!service) { + service = &s; + } mdns_tx_packet_t * q = _mdns_server->tx_queue_head; while (q) { if (q->tcpip_if == tcpip_if && q->ip_protocol == ip_protocol && q->distributed) { @@ -1336,6 +1340,10 @@ static void _mdns_dealloc_answer(mdns_out_answer_t ** destnation, uint16_t type, if (!d) { return; } + mdns_srv_item_t s = {NULL, NULL}; + if (!service) { + service = &s; + } if (d->type == type && d->service == service->service) { *destnation = d->next; free(d); -- 2.40.0