This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.19-369-g8dc9751
- From: schwab at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 7 May 2014 12:21:53 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.19-369-g8dc9751
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 8dc9751764eb1bedf06d19695524b31a16773413 (commit)
from a11892631d92f594c690d0d50a642b0d1aba58b8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8dc9751764eb1bedf06d19695524b31a16773413
commit 8dc9751764eb1bedf06d19695524b31a16773413
Author: Andreas Schwab <schwab@suse.de>
Date: Wed May 7 11:47:20 2014 +0200
Fix parsing of getai result from nscd for IPv6-only request
diff --git a/ChangeLog b/ChangeLog
index 6c50016..cb09dd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,13 @@
+2014-05-07 Andreas Schwab <schwab@suse.de>
+
+ * sysdeps/posix/getaddrinfo.c (gaih_inet): Advance address pointer
+ when skipping over non-matching result from nscd.
+
2014-05-07 OndÅ?ej BÃlka <neleai@seznam.cz>
[BZ #16876]
* nptl/sockperf.c (client): Check socket return value.
+
[BZ #16877]
* nscd/selinux.c (nscd_request_avc_has_perm): Check if there is
nscd security class.
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 3385bed..6258330 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -710,16 +710,20 @@ gaih_inet (const char *name, const struct gaih_service *service,
struct gaih_addrtuple *addrfree = addrmem;
for (int i = 0; i < air->naddrs; ++i)
{
+ socklen_t size = (air->family[i] == AF_INET
+ ? INADDRSZ : IN6ADDRSZ);
+
if (!((air->family[i] == AF_INET
&& req->ai_family == AF_INET6
&& (req->ai_flags & AI_V4MAPPED) != 0)
|| req->ai_family == AF_UNSPEC
|| air->family[i] == req->ai_family))
- /* Skip over non-matching result. */
- continue;
+ {
+ /* Skip over non-matching result. */
+ addrs += size;
+ continue;
+ }
- socklen_t size = (air->family[i] == AF_INET
- ? INADDRSZ : IN6ADDRSZ);
if (*pat == NULL)
{
*pat = addrfree++;
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/posix/getaddrinfo.c | 12 ++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
hooks/post-receive
--
GNU C Library master sources