subcommand: Avoid referencing possibly undefined $ret.
authorAndre Noll <maan@tuebingen.mpg.de>
Tue, 3 Mar 2015 17:21:06 +0000 (18:21 +0100)
committerAndre Noll <maan@tuebingen.mpg.de>
Tue, 3 Mar 2015 17:21:06 +0000 (18:21 +0100)
If a subcommand does not set $ret (like the minimal "hello" example
does), and sets the nounset bash option (set -u), gsu aborts at
the attempt to reference $ret. Fix this flaw by setting $ret to
$GSU_SUCCESS prior to calling the subcommand.

Reported by Congmao Wang.

subcommand

index 3ff31f0..261e35f 100644 (file)
@@ -549,6 +549,7 @@ gsu()
        # external commands
        for i in $gsu_cmds; do
                if test "$arg" = "$i"; then
+                       ret=$GSU_SUCCESS
                        com_$arg "$@"
                        if (("$ret" < 0)); then
                                gsu_err_msg