https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c30c3026afe300666201a1edf7dd083311484675
commit c30c3026afe300666201a1edf7dd083311484675 Author: Anton Lavrentiev via Cygwin-patches <[email protected]> Date: Wed Jan 19 08:12:55 2022 -0500 Cygwin: resolver: cygwin_query() skip response header on internal error - When dn_comp() failed internally there is no longer any need to fill the response header since it's now all cleared upon entry Diff: --- winsup/cygwin/libc/minires-os-if.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/libc/minires-os-if.c b/winsup/cygwin/libc/minires-os-if.c index cd56be45c..dedd7f51b 100644 --- a/winsup/cygwin/libc/minires-os-if.c +++ b/winsup/cygwin/libc/minires-os-if.c @@ -266,6 +266,7 @@ static int cygwin_query(res_state statp, const char * DomName, int Class, int Ty if ((len = dn_comp(rr->pName, ptr, AnsLength - 4, dnptrs, &dnptrs[DIM(dnptrs) - 1])) < 0) { statp->res_h_errno = NETDB_INTERNAL; /* dn_comp sets errno */ + AnsLength = 0; len = -1; goto done; } @@ -283,7 +284,7 @@ static int cygwin_query(res_state statp, const char * DomName, int Class, int Ty DPRINTF(debug, "Unexpected section order %s %d\n", DomName, Type); continue; } - section = rr->Flags.DW & 0x3; + section = rr->Flags.DW & 0x3; ptr = write_record(ptr, rr, AnsPtr + AnsLength, dnptrs, &dnptrs[DIM(dnptrs) - 1], debug);
