diff options
author | Anton Lavrentiev via Cygwin-patches <cygwin-patches@cygwin.com> | 2022-01-19 08:12:55 -0500 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-01-19 15:26:14 +0100 |
commit | 93511d575ed3a838cd4943a4e24c787d5a0c679d (patch) | |
tree | 907c900019126e84d6b9f5fc1bac7d49175420be | |
parent | 4a7461a07b5af77dcbf9bae6e2a27141eb189f79 (diff) | |
download | newlib-93511d575ed3a838cd4943a4e24c787d5a0c679d.zip newlib-93511d575ed3a838cd4943a4e24c787d5a0c679d.tar.gz newlib-93511d575ed3a838cd4943a4e24c787d5a0c679d.tar.bz2 |
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
-rw-r--r-- | winsup/cygwin/libc/minires-os-if.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/libc/minires-os-if.c b/winsup/cygwin/libc/minires-os-if.c index c6fde77..4e8e9cf 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 for \"%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); |