From cc0ad534e90cb0d7b8cb315d5f2edb86d90d36c2 Mon Sep 17 00:00:00 2001 From: "suren.gabrielyan" Date: Fri, 4 Dec 2020 18:19:19 +0400 Subject: [PATCH 1/2] mDNS: Fix of collision detection during txt length calculation Closes https://github.com/espressif/esp-idf/issues/6114 --- components/mdns/mdns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index 5a62fab9a9..5fa9ed177c 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -2158,7 +2158,7 @@ static int _mdns_check_txt_collision(mdns_service_t * service, const uint8_t * d mdns_txt_linked_item_t * txt = service->txt; while (txt) { - data_len += 2 + strlen(service->txt->key) + strlen(service->txt->value); + data_len += 2 + strlen(txt->key) + strlen(txt->value); txt = txt->next; } From 500edd412aa25a9a2bedfdd7416f1e4c2486d08f Mon Sep 17 00:00:00 2001 From: "suren.gabrielyan" Date: Thu, 14 Jan 2021 14:32:05 +0400 Subject: [PATCH 2/2] mDNS: Fix of text length calculation when detecting a collision --- components/mdns/mdns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index 5fa9ed177c..3d3222f5cc 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -2147,7 +2147,7 @@ static int _mdns_check_srv_collision(mdns_service_t * service, uint16_t priority */ static int _mdns_check_txt_collision(mdns_service_t * service, const uint8_t * data, size_t len) { - size_t data_len = 1; + size_t data_len = 0; if (len == 1 && service->txt) { return -1;//we win } else if (len > 1 && !service->txt) {