diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-08-13 13:54:28 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-08-13 13:54:28 +0200 |
commit | 3a917ac77f357309eb983fd134fe525c19088250 (patch) | |
tree | fe90eacda7af00752c73e77075bf3a77ea76d291 /src/libhydra/attributes/mem_pool.c | |
parent | 305d98b7806aadfecf5d4ab08e66d212b68f9af1 (diff) | |
download | strongswan-3a917ac77f357309eb983fd134fe525c19088250.tar.bz2 strongswan-3a917ac77f357309eb983fd134fe525c19088250.tar.xz |
Validate netmask in mem_pool_create
Diffstat (limited to 'src/libhydra/attributes/mem_pool.c')
-rw-r--r-- | src/libhydra/attributes/mem_pool.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libhydra/attributes/mem_pool.c b/src/libhydra/attributes/mem_pool.c index 8af97dc78..f55b3a7d1 100644 --- a/src/libhydra/attributes/mem_pool.c +++ b/src/libhydra/attributes/mem_pool.c @@ -480,6 +480,7 @@ mem_pool_t *mem_pool_create(char *name, host_t *base, int bits) if (base) { addr_bits = base->get_family(base) == AF_INET ? 32 : 128; + bits = max(0, min(bits, base->get_family(base) == AF_INET ? 32 : 128)); /* net bits -> host bits */ bits = addr_bits - bits; if (bits > POOL_LIMIT) |