aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/posix/getaddrinfo.c
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2014-05-15 12:33:11 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2014-05-15 12:33:11 +0530
commitcf26a0cb6a0bbaca46a01ddad6662e5e5159a32a (patch)
treee35a017c56bf53210467f323f037436b3cc9f5ab /sysdeps/posix/getaddrinfo.c
parenta5d87b3db4f40a0f07e41f1986ac7f330743a0e7 (diff)
downloadglibc-cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a.zip
glibc-cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a.tar.gz
glibc-cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a.tar.bz2
Return EAI_AGAIN for AF_UNSPEC when herrno is TRY_AGAIN (BZ #16849)
getaddrinfo correctly returns EAI_AGAIN for AF_INET and AF_INET6 queries. For AF_UNSPEC however, an older change (a682a1bf553b1efe4dbb03207fece5b719cec482) broke the check and due to that the returned error was EAI_NONAME. This patch fixes the check so that a non-authoritative not-found is returned as EAI_AGAIN to the user instead of EAI_NONAME.
Diffstat (limited to 'sysdeps/posix/getaddrinfo.c')
-rw-r--r--sysdeps/posix/getaddrinfo.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 6258330..8f392b9 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -867,8 +867,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
if (status != NSS_STATUS_TRYAGAIN
|| rc != ERANGE || herrno != NETDB_INTERNAL)
{
- if (status == NSS_STATUS_TRYAGAIN
- && herrno == TRY_AGAIN)
+ if (herrno == TRY_AGAIN)
no_data = EAI_AGAIN;
else
no_data = herrno == NO_DATA;