about summary refs log tree commit diff
path: root/sysdeps/posix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-12-10 15:44:26 -0800
committerUlrich Drepper <drepper@redhat.com>2009-12-10 15:44:26 -0800
commita682a1bf553b1efe4dbb03207fece5b719cec482 (patch)
tree939b7263f78622f41b108bd6cd1906c2f730da44 /sysdeps/posix
parent633bbc1d9199b63b0bccaef57bbd15878a5980cc (diff)
downloadglibc-a682a1bf553b1efe4dbb03207fece5b719cec482.tar.gz
glibc-a682a1bf553b1efe4dbb03207fece5b719cec482.tar.xz
glibc-a682a1bf553b1efe4dbb03207fece5b719cec482.zip
Fix a few error cases in *name4_r lookup handling.
Diffstat (limited to 'sysdeps/posix')
-rw-r--r--sysdeps/posix/getaddrinfo.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index a788d18fee..62c38f69be 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -719,13 +719,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
 		      if (status != NSS_STATUS_TRYAGAIN
 			  || rc != ERANGE || herrno != NETDB_INTERNAL)
 			{
-			  if (herrno == NETDB_INTERNAL)
-			    {
-			      __set_h_errno (herrno);
-			      _res.options = old_res_options;
-			      return -EAI_SYSTEM;
-			    }
-			  if (herrno == TRY_AGAIN)
+			  if (status == NSS_STATUS_TRYAGAIN
+			      && herrno == TRY_AGAIN)
 			    no_data = EAI_AGAIN;
 			  else
 			    no_data = herrno == NO_DATA;