diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,5 +1,10 @@ 2005-09-26 Ulrich Drepper <drepper@redhat.com> + [BZ #524] + * sysdeps/posix/getaddrinfo.c (match_prefix): Fix matching loop of + number of bits is multiple of 8. + Patch by Fredrik Tolf <fredrik@dolda2000.com>. + [BZ #516] * elf/dl-load.c: Report failed loading due to ELF class mismatch with better words. diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index d97b95b..4db98d9 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -1266,7 +1266,7 @@ match_prefix (const struct sockaddr_storage *ss, const struct prefixlist *list, uint8_t *mask = list[idx].prefix.s6_addr; uint8_t *val = in6->sin6_addr.s6_addr; - while (bits > 8) + while (bits >= 8) { if (*mask != *val) break; |