From 0f80a4bd47ac8f01650c536b6d06086526c064ed 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 5b0c9dfdc1..79be615c3a 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -2105,7 +2105,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 52fa88b54e314ba4fdcad1a78b32f09bdf8dd4a2 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 79be615c3a..6b00a1f433 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -2094,7 +2094,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) {