about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--resolv/nss_dns/dns-host.c8
2 files changed, 9 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 6378d3f00b..e42a23a18f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+	[BZ #5790]
+	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Don't
+	overwrite *h_errnop/*errnop values from getanswer_r in case of
+	failure.
+
 2008-03-03  Ulrich Drepper  <drepper@redhat.com>
 
 	[BZ #5818]
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index def44e9dbf..dfdf9c5dcb 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2004, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Extended from original form by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -386,11 +386,7 @@ _nss_dns_gethostbyaddr2_r (const void *addr, socklen_t len, int af,
   if (host_buffer.buf != orig_host_buffer)
     free (host_buffer.buf);
   if (status != NSS_STATUS_SUCCESS)
-    {
-      *h_errnop = h_errno;
-      *errnop = errno;
-      return status;
-    }
+    return status;
 
 #ifdef SUNSECURITY
   This is not implemented because it is not possible to use the current