diff options
Diffstat (limited to 'src/ippool.c')
-rw-r--r-- | src/ippool.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ippool.c b/src/ippool.c index 58a0d281..52446cec 100644 --- a/src/ippool.c +++ b/src/ippool.c @@ -258,7 +258,11 @@ void __connman_ippool_newaddr(int index, const char *address, if (is_private_address(start) == FALSE) return; - mask = ~(0xffffffff >> prefixlen); + if (prefixlen >= 32) + mask = 0xffffffff; + else + mask = ~(0xffffffff >> prefixlen); + start = start & mask; end = start | ~mask; |