From 0e4e9344d18f3c1c037cc32c0dfab799ad2180b7 Mon Sep 17 00:00:00 2001 From: Arne Goedeke <el@laramies.com> Date: Thu, 13 Jun 2013 23:35:42 +0200 Subject: [PATCH] block_alloc: memusage stats could overflow --- src/block_allocator.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/block_allocator.c b/src/block_allocator.c index 44e3fd90e3..56a45a184b 100644 --- a/src/block_allocator.c +++ b/src/block_allocator.c @@ -89,9 +89,13 @@ PMOD_EXPORT size_t ba_count(const struct block_allocator * a) { } PMOD_EXPORT void ba_count_all(const struct block_allocator * a, size_t * num, size_t * size) { - size_t n = (a->l.blocks << (a->size-1)) - a->l.blocks; - *num = n; - *size = a->l.block_size * n; + if (a->size) { + size_t n = (a->l.blocks << (a->size-1)) - a->l.blocks; + *num = n; + *size = a->l.block_size * n; + } else { + *num = *size = 0; + } } static void ba_low_alloc(struct block_allocator * a) { -- GitLab