From 238ee9678383ba9ad2583305914a74843157758c Mon Sep 17 00:00:00 2001 From: liuchangjian Date: Thu, 7 Jul 2022 19:59:16 +0800 Subject: [PATCH] bugfix: mdns IPv6 address convert error In this fix, we manually convert esp_ip_addr_t to ip_addr_t. --- components/mdns/mdns_networking_lwip.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/mdns/mdns_networking_lwip.c b/components/mdns/mdns_networking_lwip.c index 370661d12..86b4c6c5e 100644 --- a/components/mdns/mdns_networking_lwip.c +++ b/components/mdns/mdns_networking_lwip.c @@ -338,11 +338,15 @@ size_t _mdns_udp_pcb_write(mdns_if_t tcpip_if, mdns_ip_protocol_t ip_protocol, c } memcpy((uint8_t *)pbt->payload, data, len); + ip_addr_t ip_add_copy; + ip_add_copy.type = ip->type; + memcpy(&(ip_add_copy.u_addr),&(ip->u_addr),sizeof(ip_add_copy.u_addr)); + mdns_api_call_t msg = { .tcpip_if = tcpip_if, .ip_protocol = ip_protocol, .pbt = pbt, - .ip = (ip_addr_t *)ip, + .ip = &ip_add_copy, .port = port }; tcpip_api_call(_mdns_udp_pcb_write_api, &msg.call);