From 9b69454570f52eec12fb10a0c1012b8915ad6575 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 28 Sep 2015 13:49:53 +0200 Subject: [PATCH] BUG/MINOR: config: check that tune.bufsize is always positive We must not accept negative values for tune.bufsize as they will only result in crashing the process during the parsing. --- src/cfgparse.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cfgparse.c b/src/cfgparse.c index d5a6f04f7..f7944c3aa 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -828,6 +828,11 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm) goto out; } global.tune.bufsize = atol(args[1]); + if (global.tune.bufsize <= 0) { + Alert("parsing [%s:%d] : '%s' expects a positive integer argument.\n", file, linenum, args[0]); + err_code |= ERR_ALERT | ERR_FATAL; + goto out; + } if (global.tune.maxrewrite >= global.tune.bufsize / 2) global.tune.maxrewrite = global.tune.bufsize / 2; chunk_init(&trash, realloc(trash.str, global.tune.bufsize), global.tune.bufsize);