aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ippool.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-11-06 03:38:54 +0900
committerHarald Welte <laforge@gnumonks.org>2017-11-06 03:38:54 +0900
commitfc6676c4a0711248388a0df0f3e9e38492894a2c (patch)
tree2ec0b0902850ea0c5cf4ca400a92e0fcd856e1b6 /lib/ippool.c
parent1af543f44c79696abdd422a3e28458f8deb11375 (diff)
ippool: Correctly compute size of static pool
* we have to use stataddr, not addr (dynamic) * we have to multiply the length of the address by 8 to get its bit length * we can simplify the -1 +1 logic (like dynamic) Change-Id: I174102051bef95f7df34b7d7c480a00ae408be7d Fixes: Coverity CID#174189
Diffstat (limited to 'lib/ippool.c')
-rw-r--r--lib/ippool.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ippool.c b/lib/ippool.c
index 55a41d0..a9a64be 100644
--- a/lib/ippool.c
+++ b/lib/ippool.c
@@ -240,7 +240,7 @@ int ippool_new(struct ippool_t **this, const struct in46_prefix *dyn, const stru
stataddr = stat->addr;
stataddrprefixlen = stat->prefixlen;
- statsize = (1 << (addr.len - stataddrprefixlen + 1)) -1;
+ statsize = (1 << (stataddr.len*8 - stataddrprefixlen));
if (statsize > IPPOOL_STATSIZE)
statsize = IPPOOL_STATSIZE;
}