]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Handle missing NSS modules and those without callbacks.
authorUlrich Drepper <drepper@redhat.com>
Sat, 25 Jul 2009 19:29:04 +0000 (12:29 -0700)
committerAndreas Schwab <schwab@redhat.com>
Mon, 17 Aug 2009 13:37:34 +0000 (15:37 +0200)
getaddrinfo didn't update the status variable in that round of the
loop if no callback was used.
(cherry picked from commit 657317537c09b82a2feb1194fda045f63e3a1222)

ChangeLog
sysdeps/posix/getaddrinfo.c

index ec8c64aedfea9374f6aa7e8c0857b6e1cd290d89..637b91b263450b42a8eec4ca586e9b0a118015db 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-25  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #10448]
+       * sysdeps/posix/getaddrinfo.c (gaih_inet): If NSS module contains no
+       callback we must touch the status to avoid using stale value.
+
 2009-06-16  Ulrich Drepper  <drepper@redhat.com>
 
        * login/Makefile: Build pt_chown as PIE.
index d346c621fbe8028ea4e91bb711611f5c061f8d00..a788d18fee17fed144df8c17c7d938300e6a3753 100644 (file)
@@ -833,6 +833,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
                               && inet6_status != NSS_STATUS_UNAVAIL)
                        status = inet6_status;
                    }
+                 else
+                   status = NSS_STATUS_UNAVAIL;
                }
 
              if (nss_next_action (nip, status) == NSS_ACTION_RETURN)