BUILD: config: fix again bugs gcc warnings on calloc
authorWilly Tarreau <w@1wt.eu>
Fri, 17 Jul 2020 13:04:53 +0000 (15:04 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 17 Jul 2020 13:04:53 +0000 (15:04 +0200)
commit9b9c174e60ed8f518c13e99257ff2431aef3fa8a
treeb17a1bb16f2bfb8428110fb16015894c89038cda
parent273aea479de6c50a1a4f2cc329aa91ef11f8a829
BUILD: config: fix again bugs gcc warnings on calloc

Since commit ad37c7ab ("BUILD: config: address build warning on
raspbian+rpi4") gcc 7.3.0 complains again on x86_64 (while 8.2.0
does not) :

  src/cfgparse.c: In function 'check_config_validity':
  src/cfgparse.c:3593:26: warning: argument 1 range [1844674407156206796818446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
       newsrv->idle_conns = calloc(global.nbthread, sizeof(*newsrv->idle_conns));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This thing is completely bogus (actually the RPi one was the most wrong).
Let's try to shut them both by using an unsigned short for the cast which
is expected to satisfy everyone. It's worth noting that the exact same call
a few lines above and below do not trigger this stupid warning.

This should be backported to 2.2 since the fix above was put there already.
src/cfgparse.c