From 28736c36ca6a73864324296117ce26c9a23066dd Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 18 Oct 2009 01:11:45 -0400 Subject: hush: handle empty execs Sometimes variable expansions yield empty strings, and if they happen to be a command someone wants to run like `$foo`, then hush currently segfaults. So handle `` and $(). Signed-off-by: Mike Frysinger --- shell/hush.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'shell/hush.c') diff --git a/shell/hush.c b/shell/hush.c index 2d333d731..1d2826d9a 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -3895,6 +3895,12 @@ static NOINLINE int run_pipe(struct pipe *pi) argv_expanded = expand_strvec_to_strvec(argv + command->assignment_cnt); } + /* if someone gives us an empty string: ``, $(), ... */ + if (!argv_expanded[0]) { + debug_leave(); + return 0; + } + x = find_builtin(argv_expanded[0]); #if ENABLE_HUSH_FUNCTIONS funcp = NULL; -- cgit v1.2.3