Le 01/09/2026 à 12:44 PM, Manu Nicolas a écrit :
resolv_process_responses() clears the whole response buffer before
each receive. The receive operation supplies the message length and
all parser accesses are bounded by the corresponding end pointer, so
no byte beyond the received message is observed.

Remove the unnecessary buffer clear.
---
  src/resolvers.c | 1 -
  1 file changed, 1 deletion(-)

diff --git a/src/resolvers.c b/src/resolvers.c
index 6700bdeaf..824cc2d06 100644
--- a/src/resolvers.c
+++ b/src/resolvers.c
@@ -2341,7 +2341,6 @@ static int resolv_process_responses(struct dns_nameserver 
*ns)
        /* process all pending input messages */
        while (1) {
                /* read message received */
-               memset(buf, '\0', resolvers->accepted_payload_size + 1);
                if ((buflen = dns_recv_nameserver(ns, (void *)buf, sizeof(buf))) 
<= 0) {
                        break;
                }

Merged, thanks !

--
Christopher Faulet



Reply via email to