summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-12-29 23:47:07 +0000
committerUlrich Drepper <drepper@redhat.com>2008-12-29 23:47:07 +0000
commitbfbbc63f04a597d8ae35687a6cdae07f02bcf5dc (patch)
treea4212d337e6b77f4aa0bdb1ee7cd67d3a1e56168
parent5703f4727380ca751da51a94664689b5e97dc89f (diff)
* sysdeps/posix/getaddrinfo.c (gaih_inet): When the
gethostbyname4_r function call succeeded, just leave the loop.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/posix/getaddrinfo.c2
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)
{