Review at  https://gerrit.osmocom.org/4693

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
---
M lib/ippool.c
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/93/4693/1

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 @@
                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;
        }

-- 
To view, visit https://gerrit.osmocom.org/4693
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I174102051bef95f7df34b7d7c480a00ae408be7d
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ggsn
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <[email protected]>

Reply via email to