Mon, 06 Mar 2017 16:22:42 +0100
safe one multiplication in overflow check for mempool_chcap()
ucx/mempool.c | file | annotate | diff | comparison | revisions |
1.1 --- a/ucx/mempool.c Mon Mar 06 16:09:42 2017 +0100 1.2 +++ b/ucx/mempool.c Mon Mar 06 16:22:42 2017 +0100 1.3 @@ -109,8 +109,8 @@ 1.4 1.5 void *ucx_mempool_malloc(UcxMempool *pool, size_t n) { 1.6 if (pool->ndata >= pool->size) { 1.7 - if (pool->size*2 < pool->size /* overflow check */ 1.8 - || ucx_mempool_chcap(pool, pool->size*2)) { 1.9 + size_t newcap = pool->size*2; 1.10 + if (newcap < pool->size || ucx_mempool_chcap(pool, newcap)) { 1.11 return NULL; 1.12 } 1.13 }