From 2e945c8ee7d5cb358d98c4333a66b0d6631cefa6 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Mon, 25 Nov 2019 09:58:37 +0100 Subject: [PATCH] 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. --- src/cli.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cli.c b/src/cli.c index db695d5fd..77db8be88 100644 --- a/src/cli.c +++ b/src/cli.c @@ -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)