From 207cce4c4781fbd9928927d3bb6805bcc843a158 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 26 Sep 2005 16:12:12 +0000 Subject: [PATCH] [BZ #524] * sysdeps/posix/getaddrinfo.c (match_prefix): Fix matching loop of number of bits is multiple of 8. Patch by Fredrik Tolf . --- ChangeLog | 5 +++++ sysdeps/posix/getaddrinfo.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 58dfee870f..e5b24f6805 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2005-09-26 Ulrich Drepper + [BZ #524] + * sysdeps/posix/getaddrinfo.c (match_prefix): Fix matching loop of + number of bits is multiple of 8. + Patch by Fredrik Tolf . + [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 d97b95b5e0..4db98d942c 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;