ash: allow popredir to be called if the stack is empty
authorRon Yorston <rmy@pobox.com>
Fri, 30 Oct 2015 19:07:37 +0000 (19:07 +0000)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 30 Oct 2015 21:23:13 +0000 (22:23 +0100)
commit95650a86d176ee83a264fd9e7047c414b71ee7cb
treeb19e6bf3825cd00040df90826249a3c490a51e0a
parent8c55dc79a79d6a16c364e6b1f849bf426f21fcbb
ash: allow popredir to be called if the stack is empty

If /tmp/test.sh is a script that tries to run a second script which
happens to be non-executable this:

   command . /tmp/test.sh

causes a seg fault.

This is because clearredir is called in the error path to clear the
stack of redirections.  The normal path then calls popredir, but popredir
fails when the stack is empty.

Reported-by: Bastian Bittorf <bittorf@bluebottle.com>
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c