+2014-03-20 Andreas Schwab <schwab@suse.de>
+
+ [BZ #16743]
+ * sysdeps/posix/getaddrinfo.c (gaih_inet): Properly skip over
+ non-matching result from nscd.
+
2015-04-21 Arjun Shankar <arjun.is@lostca.se>
[BZ #18287]
* The following bugs are resolved with this release:
- 15946, 16545, 16574, 16623, 16657, 16695, 16878, 16882, 16885, 16916,
- 16932, 16943, 16958, 17048, 17069, 17137, 17213, 17263, 17325, 17555,
- 18287.
+ 15946, 16545, 16574, 16623, 16657, 16695, 16743, 16878, 16882, 16885,
+ 16916, 16932, 16943, 16958, 17048, 17069, 17137, 17213, 17263, 17325,
+ 17555, 18287.
* A buffer overflow in gethostbyname_r and related functions performing DNS
requests has been fixed. If the NSS functions were called with a
struct gaih_addrtuple *addrfree = addrmem;
for (int i = 0; i < air->naddrs; ++i)
{
+ 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;
+
socklen_t size = (air->family[i] == AF_INET
? INADDRSZ : IN6ADDRSZ);
if (*pat == NULL)