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.
diff --git a/src/log.c b/src/log.c
index 7483842..e5d4ce8 100644
--- a/src/log.c
+++ b/src/log.c
@@ -184,7 +184,7 @@
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 @@
if (end)
break;
}
- args++;
+ args++;
}
return 0;
}