From 540abe406dbe907790698f313a6bc39478398d54 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 2 May 2007 20:50:16 +0200 Subject: [PATCH] [MEDIUM] ensure that we always have a null word in config It is important when parsing configuration file to ensure that at least one word is empty to mark the end of the line. This will be required with ACLs in order to avoid reading past the end of line. --- src/cfgparse.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index feb7b6064..c5d17440f 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -2052,7 +2052,7 @@ int readcfgfile(const char *file) FILE *f; int linenum = 0; char *end; - char *args[MAX_LINE_ARGS]; + char *args[MAX_LINE_ARGS + 1]; int arg; int cfgerr = 0; int nbchk, mininter; @@ -2142,8 +2142,10 @@ int readcfgfile(const char *file) if (!**args) continue; - /* zero out remaining args */ - while (++arg < MAX_LINE_ARGS) { + /* zero out remaining args and ensure that at least one entry + * is zeroed out. + */ + while (++arg <= MAX_LINE_ARGS) { args[arg] = line; }