diff options
-rw-r--r-- | src/auth.c | 2 | ||||
-rw-r--r-- | src/netlink.c | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -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; diff --git a/src/netlink.c b/src/netlink.c index cff43cc..b393283 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -208,7 +208,8 @@ int iface_enumerate(int family, void *parm, int (*callback)()) struct in_addr netmask, addr, broadcast; char *label = NULL; - netmask.s_addr = htonl(0xffffffff << (32 - ifa->ifa_prefixlen)); + netmask.s_addr = htonl(~(in_addr_t)0 << (32 - ifa->ifa_prefixlen)); + addr.s_addr = 0; broadcast.s_addr = 0; |