From 842d52352a52e504e9be858302443252b7cf07d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Wed, 9 Mar 2016 14:25:57 +0100 Subject: [PATCH] Fix escaping of argument in iexlive and iexdebug --- ejabberdctl.template | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/ejabberdctl.template b/ejabberdctl.template index 07395aafd..aa9c2eb81 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -159,6 +159,15 @@ export CONTRIB_MODULES_PATH export CONTRIB_MODULES_CONF_DIR export ERL_LIBS +shell_escape_str() +{ + if test $# -eq 0; then + printf '"" ' + else + shell_escape "$@" + fi +} + shell_escape() { local RES=() @@ -208,10 +217,10 @@ iexdebug() # Elixir shell is hidden as default CMD="`shell_escape \"$IEX\" \"$IEXNAME\" \"debug-${TTY}-${ERLANG_NODE}\"` \ -remsh $ERLANG_NODE \ - --erl \"`shell_escape \"$KERNEL_OPTS\"\" \ - --erl \"`shell_escape \"$ERLANG_OPTS\"\" \ - --erl \"`shell_escape \"${ARGS[@]}\"\" \ - --erl \"`shell_escape \"$@\"\"" + --erl `shell_escape \"$KERNEL_OPTS\"` \ + --erl `shell_escape \"$ERLANG_OPTS\"` \ + --erl `shell_escape \"${ARGS[@]}\"` \ + --erl `shell_escape_str \"$@\"`" $EXEC_CMD "$CMD" } @@ -233,14 +242,15 @@ live() iexlive() { livewarning + echo $@ CMD="`shell_escape \"$IEX\" \"$IEXNAME\" \"${ERLANG_NODE}\"` \ --erl \"-mnesia dir \\\"$SPOOL_DIR\\\"\" \ --erl \"`shell_escape \"$KERNEL_OPTS\"`\" \ --erl \"`shell_escape \"$EJABBERD_OPTS\"`\" \ --app ejabberd \ - --erl \"`shell_escape \"$ERLANG_OPTS\"`\" \ - --erl \"`shell_escape \"${ARGS[@]}\"`\" \ - --erl \"`shell_escape \"$@\"`\"" + --erl `shell_escape \"$ERLANG_OPTS\"` \ + --erl `shell_escape \"${ARGS[@]}\"` \ + --erl `shell_escape_str \"$@\"`" $EXEC_CMD "$CMD" }