about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-09-26 16:12:12 +0000
committerUlrich Drepper <drepper@redhat.com>2005-09-26 16:12:12 +0000
commit207cce4c4781fbd9928927d3bb6805bcc843a158 (patch)
tree97225ca65f5271bf5af3fbd6f6017bcfea97b1d9
parent7f71c55ddfc2e8f0fb64034ae4f92c574fbe22fd (diff)
downloadglibc-207cce4c4781fbd9928927d3bb6805bcc843a158.tar.gz
glibc-207cce4c4781fbd9928927d3bb6805bcc843a158.tar.xz
glibc-207cce4c4781fbd9928927d3bb6805bcc843a158.zip
[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>.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/posix/getaddrinfo.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 58dfee870f..e5b24f6805 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 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;