mdns: Fix case where service is NULL and that will cause exception

This commit is contained in:
me-no-dev 2018-01-22 13:17:59 +01:00 committed by Ivan Grokhotkov
parent d6c06ed0b5
commit c68fd9d545

View file

@ -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);