From 6b35de215cac57c773cf32c7bc0c6adaf59d3df1 Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 11 Mar 2010 17:57:14 +0000 Subject: [PATCH] (svn r19385) -Fix [FS#3684]: [IPv6] Netmask calculations were wrong if cidr >= 32. --- src/network/core/address.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/core/address.cpp b/src/network/core/address.cpp index 4e12375773..586ee863a9 100644 --- a/src/network/core/address.cpp +++ b/src/network/core/address.cpp @@ -161,7 +161,7 @@ bool NetworkAddress::IsInNetmask(char *netmask) while (cidr > 0) { uint32 msk = cidr >= 32 ? (uint32)-1 : htonl(-(1 << (32 - cidr))); - if ((*mask & msk) != (*ip & msk)) return false; + if ((*mask++ & msk) != (*ip++ & msk)) return false; cidr -= 32; }