diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-05-15 12:33:11 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-05-15 12:33:11 +0530 |
commit | cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a (patch) | |
tree | e35a017c56bf53210467f323f037436b3cc9f5ab /sysdeps/posix/getaddrinfo.c | |
parent | a5d87b3db4f40a0f07e41f1986ac7f330743a0e7 (diff) | |
download | glibc-cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a.tar.gz glibc-cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a.tar.xz glibc-cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a.zip |
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.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 6258330759..8f392b9678 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; |