diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 22d8804e41..687d58b7f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-12-29 Ulrich Drepper <drepper@redhat.com> + * sysdeps/posix/getaddrinfo.c (gaih_inet): When the + gethostbyname4_r function call succeeded, just leave the loop. + [BZ #9694] * wcsmbs/wchar.h: Move undefs for local __need_* constants to the very end. diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 6ff0fc47a1..d346c621fb 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -714,6 +714,8 @@ gaih_inet (const char *name, const struct gaih_service *service, status = DL_CALL_FCT (fct4, (name, pat, tmpbuf, tmpbuflen, &rc, &herrno, NULL)); + if (status == NSS_STATUS_SUCCESS) + break; if (status != NSS_STATUS_TRYAGAIN || rc != ERANGE || herrno != NETDB_INTERNAL) { |