From 10cfc0ddb35d8e7d19bdb86240a49004980b1ff8 Mon Sep 17 00:00:00 2001 From: Richard Genoud Date: Wed, 17 Sep 2014 21:17:39 +0100 Subject: Fix length->netmask conversions to avoid undefined behaviour. --- src/auth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/auth.c') diff --git a/src/auth.c b/src/auth.c index 066a9e4..dd46566 100644 --- a/src/auth.c +++ b/src/auth.c @@ -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; -- cgit v1.2.1