aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 8f3143669..6de71f6d7 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -8705,8 +8705,8 @@ evalcommand(union node *cmd, int flags)
for (;;) {
find_command(argv[0], &cmdentry, cmd_flag, path);
if (cmdentry.cmdtype == CMDUNKNOWN) {
- status = 127;
flush_stderr();
+ status = 127;
goto bail;
}
@@ -8812,12 +8812,13 @@ evalcommand(union node *cmd, int flags)
out:
popredir(cmd_is_exec);
- if (lastarg)
+ if (lastarg) {
/* dsl: I think this is intended to be used to support
* '_' in 'vi' command mode during line editing...
* However I implemented that within libedit itself.
*/
setvar("_", lastarg, 0);
+ }
popstackmark(&smark);
}
@@ -10649,7 +10650,7 @@ readtoken1(int firstc, int syntax, char *eofmark, int striptabs)
if (eofmark == NULL) {
if ((c == '>' || c == '<')
&& quotef == 0
- && len <= 2
+ && len <= 2 // THIS LIMITS fd to 1 char: N>file, but no NN>file!
&& (*out == '\0' || isdigit(*out))
) {
PARSEREDIR();