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.
This commit is contained in:
William Lallemand 2019-11-25 09:58:37 +01:00 committed by William Lallemand
parent c8bb1539cb
commit 2e945c8ee7

View File

@ -2526,7 +2526,7 @@ int mworker_cli_proxy_new_listener(char *line)
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 @@ int mworker_cli_proxy_new_listener(char *line)
*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)