diff options
author | 2001-08-07 00:40:50 +0000 | |
---|---|---|
committer | 2001-08-07 00:40:50 +0000 | |
commit | 677ec427d4241fce392681e8c50b30debcd9cbef (patch) | |
tree | 0485a6d3e7fd17b3cb431d47cbfa4fbe26889fb9 | |
parent | Replace with public domain version that does an exec (diff) | |
download | wireguard-openbsd-677ec427d4241fce392681e8c50b30debcd9cbef.tar.xz wireguard-openbsd-677ec427d4241fce392681e8c50b30debcd9cbef.zip |
for AF_INET6, must compare sin6_scope_id.
-rw-r--r-- | lib/libc/net/net_addrcmp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/net/net_addrcmp.c b/lib/libc/net/net_addrcmp.c index 64b3dce57df..7d1a67ee084 100644 --- a/lib/libc/net/net_addrcmp.c +++ b/lib/libc/net/net_addrcmp.c @@ -23,7 +23,9 @@ net_addrcmp(sa1, sa2) case AF_INET6: return (memcmp(&((struct sockaddr_in6 *)sa1)->sin6_addr, &((struct sockaddr_in6 *)sa2)->sin6_addr, - sizeof(struct in6_addr))); + sizeof(struct in6_addr)) == 0 && + ((struct sockaddr_in6 *)sa1)->sin6_scope_id == + ((struct sockaddr_in6 *)sa2)->sin6_scpoe_id); case AF_NS: return (memcmp(&((struct sockaddr_ns *)sa1)->sns_addr, &((struct sockaddr_ns *)sa2)->sns_addr, |