summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2016-09-05 00:36:52 +0000
committerache <ache@FreeBSD.org>2016-09-05 00:36:52 +0000
commit3d5d624919bed2dbb0c49b5fb0e538a47b69aca2 (patch)
tree6d2a3b7564a47315933488d3cb9bc2dd84d7b6e9 /lib
parent1e309d41a8764622d76a93336df84be6bce2da29 (diff)
downloadFreeBSD-src-3d5d624919bed2dbb0c49b5fb0e538a47b69aca2.zip
FreeBSD-src-3d5d624919bed2dbb0c49b5fb0e538a47b69aca2.tar.gz
MFC r305144
'addrlen' does not matter when we need to find the first non-zero bit in the byte from the left and 'addrlen' already counted in 'lim'. PR: 212121 Submitted by: Herbie.Robinson@stratus.com
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/net/getaddrinfo.c2
-rw-r--r--lib/libc/net/name6.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c
index c5bfc5e..ec22570 100644
--- a/lib/libc/net/getaddrinfo.c
+++ b/lib/libc/net/getaddrinfo.c
@@ -931,7 +931,7 @@ matchlen(struct sockaddr *src, struct sockaddr *dst)
while (s < lim)
if ((r = (*d++ ^ *s++)) != 0) {
- while (r < addrlen * 8) {
+ while ((r & 0x80) == 0) {
match++;
r <<= 1;
}
diff --git a/lib/libc/net/name6.c b/lib/libc/net/name6.c
index b34580e..38986fc 100644
--- a/lib/libc/net/name6.c
+++ b/lib/libc/net/name6.c
@@ -930,7 +930,7 @@ matchlen(struct sockaddr *src, struct sockaddr *dst)
while (s < lim)
if ((r = (*d++ ^ *s++)) != 0) {
- while (r < addrlen * 8) {
+ while ((r & 0x80) == 0) {
match++;
r <<= 1;
}
OpenPOWER on IntegriCloud