[newlib-cygwin/cygwin-3_3-branch] Cygwin: resolver: cygwin_query() skip response header on internal error

Corinna Vinschen corinna@sourceware.org
Wed Jan 19 14:31:43 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c30c3026afe300666201a1edf7dd083311484675

commit c30c3026afe300666201a1edf7dd083311484675
Author: Anton Lavrentiev via Cygwin-patches <cygwin-patches@cygwin.com>
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);


More information about the Cygwin-cvs mailing list