From fc6676c4a0711248388a0df0f3e9e38492894a2c Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 6 Nov 2017 03:38:54 +0900 Subject: 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 --- lib/ippool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') 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; } -- cgit v1.2.3