|
commit 68c23dedaaae8f29d26c4791b30d138ed1411548
|
|
Author: Frédéric Lécaille <flecaille@haproxy.com>
|
|
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 <w@1wt.eu>
|
|
|
|
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
|