Mercurial > dropbear
diff cli-main.c @ 1256:506f7681d0f8 coverity
merge up to date
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 15 Mar 2016 22:45:43 +0800 |
parents | f7d565054e5f |
children | 750ec4ec4cbe b66a483f3dcb |
line wrap: on
line diff
--- a/cli-main.c Tue Dec 15 22:24:34 2015 +0800 +++ b/cli-main.c Tue Mar 15 22:45:43 2016 +0800 @@ -152,12 +152,19 @@ #ifdef ENABLE_CLI_PROXYCMD static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) { + char * ex_cmd = NULL; + size_t ex_cmdlen; int ret; fill_passwd(cli_opts.own_user); - ret = spawn_command(exec_proxy_cmd, cli_opts.proxycmd, + ex_cmdlen = strlen(cli_opts.proxycmd) + 6; /* "exec " + command + '\0' */ + ex_cmd = m_malloc(ex_cmdlen); + snprintf(ex_cmd, ex_cmdlen, "exec %s", cli_opts.proxycmd); + + ret = spawn_command(exec_proxy_cmd, ex_cmd, sock_out, sock_in, NULL, pid_out); + m_free(ex_cmd); if (ret == DROPBEAR_FAILURE) { dropbear_exit("Failed running proxy command"); *sock_in = *sock_out = -1;