From: Ulrich Drepper Date: Sat, 25 Jul 2009 19:29:04 +0000 (-0700) Subject: Handle missing NSS modules and those without callbacks. X-Git-Tag: fedora/glibc-2.10.1-5~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa152ec6ad1bcc84a53f3c02810c7d968d1b8216;p=thirdparty%2Fglibc.git Handle missing NSS modules and those without callbacks. getaddrinfo didn't update the status variable in that round of the loop if no callback was used. (cherry picked from commit 657317537c09b82a2feb1194fda045f63e3a1222) --- diff --git a/ChangeLog b/ChangeLog index ec8c64aedfe..637b91b2634 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-07-25 Ulrich Drepper + + [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 * login/Makefile: Build pt_chown as PIE. diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index d346c621fbe..a788d18fee1 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -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)