mirror of git://sourceware.org/git/glibc.git
getaddrinfo: In gaih_inet, use h_errno for certain status values only
h_errno is not set for NSS_STATUS_SUCCESS, so its value might not be accurate at this point.
This commit is contained in:
parent
ad816a5e00
commit
a2881ef014
|
@ -1,3 +1,8 @@
|
|||
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* sysdeps/posix/getaddrinfo.c (gaih_inet): Only use h_errno if
|
||||
status indicates it is set.
|
||||
|
||||
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* sysdeps/posix/getaddrinfo.c (gaih_inet): Make reporting of NSS
|
||||
|
|
|
@ -948,7 +948,10 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
|||
__resolv_context_enable_inet6 (res_ctx, res_enable_inet6);
|
||||
__resolv_context_put (res_ctx);
|
||||
|
||||
if (h_errno == NETDB_INTERNAL)
|
||||
/* If we have a failure which sets errno, report it using
|
||||
EAI_SYSTEM. */
|
||||
if ((status == NSS_STATUS_TRYAGAIN || status == NSS_STATUS_UNAVAIL)
|
||||
&& h_errno == NETDB_INTERNAL)
|
||||
{
|
||||
result = -EAI_SYSTEM;
|
||||
goto free_and_return;
|
||||
|
|
Loading…
Reference in New Issue