commit 68c23dedaaae8f29d26c4791b30d138ed1411548 Author: Frédéric Lécaille Date: Thu Oct 25 20:18:59 2018 +0200 BUG/MINOR: cache: Wrong usage of shctx_init(). With this patch we check that shctx_init() does not returns 0. This is possible if the maxblocks argument, which is passed as an int, is negative due to an implicit conversion. Must be backported to 1.8. (cherry picked from commit bc584494e625983f16f35982aa6dd6889e8dd222) Signed-off-by: Willy Tarreau diff --git a/src/cache.c b/src/cache.c index df3649ea..667cede3 100644 --- a/src/cache.c +++ b/src/cache.c @@ -837,7 +837,7 @@ int cfg_post_parse_section_cache() ret_shctx = shctx_init(&shctx, tmp_cache_config->maxblocks, CACHE_BLOCKSIZE, sizeof(struct cache), 1); - if (ret_shctx < 0) { + if (ret_shctx <= 0) { if (ret_shctx == SHCTX_E_INIT_LOCK) ha_alert("Unable to initialize the lock for the cache.\n"); else