Fix length->netmask conversions to avoid undefined behaviour.

This commit is contained in:
Richard Genoud
2014-09-17 21:17:39 +01:00
committed by Simon Kelley
parent 15b1b7e9c3
commit 10cfc0ddb3
2 changed files with 3 additions and 2 deletions

View File

@@ -31,7 +31,7 @@ static struct addrlist *find_subnet(struct auth_zone *zone, int flag, struct all
if (!(flag & F_IPV4))
continue;
netmask.s_addr = htonl(~((1 << (32 - subnet->prefixlen)) - 1));
netmask.s_addr = htonl(~(in_addr_t)0 << (32 - subnet->prefixlen));
if (is_same_net(addr, subnet->addr.addr.addr4, netmask))
return subnet;