BUG/MINOR: cli: fix out of bounds in -S parser
Out of bounds when the number or arguments is greater than
MAX_LINE_ARGS.
Fix issue #377.
Must be backported in 2.0 and 1.9.
diff --git a/src/cli.c b/src/cli.c
index db695d5..77db8be 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -2526,7 +2526,7 @@
int arg;
int cur_arg;
- arg = 0;
+ arg = 1;
args[0] = line;
/* args is a bind configuration with spaces replaced by commas */
@@ -2536,12 +2536,12 @@
*line++ = '\0';
while (*line == ',')
line++;
- args[++arg] = line;
+ args[arg++] = line;
}
line++;
}
- args[++arg] = "\0";
+ args[arg] = "\0";
bind_conf = bind_conf_alloc(mworker_proxy, "master-socket", 0, "", xprt_get(XPRT_RAW));
if (!bind_conf)