BUG/MEDIUM: log: fix possible segfault during config parsing

When log format arguments are specified within braces with no '+' nor '-'
prefix, the NULL string is compared with known keywords causing a crash.
This only happens during parsing so it does not affect runtime processing.
This commit is contained in:
Willy Tarreau 2012-12-20 18:19:26 +01:00
parent 9143d374e8
commit 254d44c014

View File

@ -184,7 +184,7 @@ int parse_logformat_var_args(char *args, struct logformat_node *node)
if (*args == '\0' || *args == ',') {
*args = '\0';
for (i = 0; var_args_list[i].name; i++) {
for (i = 0; sp && var_args_list[i].name; i++) {
if (strcmp(sp, var_args_list[i].name) == 0) {
if (flags == 1) {
node->options |= var_args_list[i].mask;
@ -199,7 +199,7 @@ int parse_logformat_var_args(char *args, struct logformat_node *node)
if (end)
break;
}
args++;
args++;
}
return 0;
}