X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1f12df4d41f546751e14d52df36172f9bb54cce8..1fb7660fc893265f0e37ceb965396d9e005a0b74:/src/src/dns.c diff --git a/src/src/dns.c b/src/src/dns.c index 33520183b..51029d4a5 100644 --- a/src/src/dns.c +++ b/src/src/dns.c @@ -112,6 +112,13 @@ if (stat(CS utilname, &statbuf) >= 0) asize -= rc; /* may need to be passed on to res_search(). */ } + /* If we ran out of output buffer before exhasting the return, + carry on reading and counting it. */ + + if (asize == 0) + while ((rc = read(outfd, name, sizeof(name))) > 0) + len += rc; + if (rc < 0) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "read from fakens failed: %s", strerror(errno));