From: Fothsid <18036123+Fothsid@users.noreply.github.com> Date: Thu, 23 Apr 2026 07:35:23 +0000 (+0200) Subject: Fix buffer overrun in doq_repinfo_retrieve_localaddr() (#1441) X-Git-Tag: release-1.25.0~2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=e49b550cf3d3821b354af9e1e6041ec7d8d2190a;p=thirdparty%2Funbound.git Fix buffer overrun in doq_repinfo_retrieve_localaddr() (#1441) --- diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index 97a7c84b2..28c1ed975 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -3767,7 +3767,7 @@ doq_repinfo_retrieve_localaddr(struct comm_reply* repinfo, memset(sa6, 0, *localaddrlen); sa6->sin6_family = AF_INET6; memmove(&sa6->sin6_addr, &repinfo->pktinfo.v6info.ipi6_addr, - *localaddrlen); + sizeof(struct in_addr6)); sa6->sin6_port = repinfo->doq_srcport; #endif } else { @@ -3777,7 +3777,7 @@ doq_repinfo_retrieve_localaddr(struct comm_reply* repinfo, memset(sa, 0, *localaddrlen); sa->sin_family = AF_INET; memmove(&sa->sin_addr, &repinfo->pktinfo.v4info.ipi_addr, - *localaddrlen); + sizeof(struct in_addr)); sa->sin_port = repinfo->doq_srcport; #elif defined(IP_RECVDSTADDR) struct sockaddr_in* sa = (struct sockaddr_in*)localaddr;