mdns: fix some coverity reported issues

- Array compared against 0 NO_EFFECT
- dereference null pointer, FORWARD_NULL check
This commit is contained in:
Mahavir Jain
2022-11-07 18:38:06 +05:30
parent 1547aa8c03
commit c73c797595

View File

@ -2936,10 +2936,10 @@ static bool _mdns_delegate_hostname_remove(const char *hostname)
static bool _mdns_name_is_discovery(mdns_name_t *name, uint16_t type) static bool _mdns_name_is_discovery(mdns_name_t *name, uint16_t type)
{ {
return ( return (
(name->host && name->host[0] && !strcasecmp(name->host, "_services")) (name->host[0] && !strcasecmp(name->host, "_services"))
&& (name->service && name->service[0] && !strcasecmp(name->service, "_dns-sd")) && (name->service[0] && !strcasecmp(name->service, "_dns-sd"))
&& (name->proto && name->proto[0] && !strcasecmp(name->proto, "_udp")) && (name->proto[0] && !strcasecmp(name->proto, "_udp"))
&& (name->domain && name->domain[0] && !strcasecmp(name->domain, MDNS_DEFAULT_DOMAIN)) && (name->domain[0] && !strcasecmp(name->domain, MDNS_DEFAULT_DOMAIN))
&& type == MDNS_TYPE_PTR && type == MDNS_TYPE_PTR
); );
} }
@ -3496,7 +3496,7 @@ void mdns_parse_packet(mdns_rx_packet_t *packet)
discovery = true; discovery = true;
} else if (!name->sub && _mdns_name_is_ours(name)) { } else if (!name->sub && _mdns_name_is_ours(name)) {
ours = true; ours = true;
if (name->service && name->service[0] && name->proto && name->proto[0]) { if (name->service[0] && name->proto[0]) {
service = _mdns_get_service_item(name->service, name->proto, NULL); service = _mdns_get_service_item(name->service, name->proto, NULL);
} }
} else { } else {
@ -3660,7 +3660,7 @@ void mdns_parse_packet(mdns_rx_packet_t *packet)
} }
} }
} else if (ours) { } else if (ours) {
if (parsed_packet->questions && !parsed_packet->probe) { if (parsed_packet->questions && !parsed_packet->probe && service) {
_mdns_remove_parsed_question(parsed_packet, type, service); _mdns_remove_parsed_question(parsed_packet, type, service);
continue; continue;
} }
@ -4941,7 +4941,7 @@ static void _mdns_service_task(void *pvParameters)
for (;;) { for (;;) {
if (_mdns_server && _mdns_server->action_queue) { if (_mdns_server && _mdns_server->action_queue) {
if (xQueueReceive(_mdns_server->action_queue, &a, portMAX_DELAY) == pdTRUE) { if (xQueueReceive(_mdns_server->action_queue, &a, portMAX_DELAY) == pdTRUE) {
if (a->type == ACTION_TASK_STOP) { if (a && a->type == ACTION_TASK_STOP) {
break; break;
} }
MDNS_SERVICE_LOCK(); MDNS_SERVICE_LOCK();