Module Name: src Committed By: kre Date: Wed Sep 15 20:21:48 UTC 2021
Modified Files: src/bin/sh: redir.c Log Message: Fix an ordering error in the previous (and even earlier, going back a way, but made more serious with the recent changes). The n>&n operation (more or less a no-op, except it clears CLOEXEC) should precede almost everything else - and simply be made to fail if an attempt is made to apply it to a sh internal fd. We were renumbering the internal fd (the n> part considered first) which was dumb, but OK, before, but now rejecting the operation (the >&n) part when n should not be visible to the script. That made something of a mess (and could lead to the shell believing its job control tty was at a fd it never got moved to). Do things in the correct order, and simply fail that case for internal fds (for every other n>xxx for any xxx sh simply renumbers its internal fd n to some other fd before attempting the operation, even n>&- ... those are all fine). [In all the above the '>' is used in place of any redirect operator]. To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/bin/sh/redir.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.