ash: ducument where "no fds > 9 in redirects" limitation is.

no code changes.
1_12_stable
Denis Vlasenko 2008-07-24 13:41:37 +00:00
parent 8d924ecf38
commit 6514c5e35c
1 changed files with 4 additions and 3 deletions

View File

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