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);