mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-17 04:22:14 +02:00
mdns: fix some coverity reported issues
- Array compared against 0 NO_EFFECT - dereference null pointer, FORWARD_NULL check
This commit is contained in:
@ -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();
|
||||||
|
Reference in New Issue
Block a user