safe one multiplication in overflow check for mempool_chcap()

Mon, 06 Mar 2017 16:22:42 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 06 Mar 2017 16:22:42 +0100
changeset 242
a3597d704421
parent 241
661f33ef20d8
child 243
2e74828c5e94

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      }

mercurial