freebsd-src/bin/sh
Jilles Tjoelker adba77a62e sh: Ensure OPTIND=1 in subshell without forking does not affect outer env.
Command substitutions containing a single simple command and here-document
expansion are performed in a subshell environment, but may not fork. Any
modified state of the shell environment should be restored afterward.

The state that OPTIND=1 had been done was not saved and restored here.

Note that the other parts of shellparam need not be saved and restored,
since they are not modified in these situations (a fork is done before such
modifications).
2016-01-07 20:48:24 +00:00
..
bltin sh: Fix compiler warnings related to duplicate or missing declarations. 2015-03-01 21:46:55 +00:00
funcs sh: Remove "kill" example function, which is superseded by the kill builtin 2012-01-21 20:39:17 +00:00
tests sh: Ensure OPTIND=1 in subshell without forking does not affect outer env. 2016-01-07 20:48:24 +00:00
alias.c sh: Fix some arithmetic undefined behaviour. 2015-06-24 20:51:48 +00:00
alias.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
arith.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
arith_yacc.c sh: Remove two redundant (uintmax_t) casts. 2014-08-20 20:15:43 +00:00
arith_yacc.h sh: Fix compiler warnings related to duplicate or missing declarations. 2015-03-01 21:46:55 +00:00
arith_yylex.c sh: Fix compiler warnings related to duplicate or missing declarations. 2015-03-01 21:46:55 +00:00
builtins.def wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00
cd.c sh: Prefer "" to nullstr where possible. 2015-02-15 21:47:43 +00:00
cd.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
error.c sh: Fix more compiler warnings related to variable declarations. 2015-03-03 21:21:43 +00:00
error.h sh: Move some code from onint() to onsig(), making onint() noreturn. 2014-12-21 23:09:59 +00:00
eval.c sh: Ensure OPTIND=1 in subshell without forking does not affect outer env. 2016-01-07 20:48:24 +00:00
eval.h sh: Make struct arglist an array instead of a linked list. 2015-10-11 21:33:00 +00:00
exec.c sh: Reduce size of builtins table. 2016-01-03 21:30:22 +00:00
exec.h sh: Expand assignment-like words specially for export/readonly/local. 2012-07-15 10:19:43 +00:00
expand.c sh: Remove redundant CTLQUOTEMARK checks. 2015-12-31 20:15:57 +00:00
expand.h sh: Perform pathname generation during the first expansion phases. 2015-12-31 18:47:54 +00:00
histedit.c sh: Fix more compiler warnings. 2015-03-01 22:32:23 +00:00
input.c sh: Remove arbitrary length limit on << EOF markers. 2014-09-14 16:46:30 +00:00
input.h sh: Remove arbitrary length limit on << EOF markers. 2014-09-14 16:46:30 +00:00
jobs.c sh: Pass along SIGINT from a child if job control is enabled, even when not 2015-04-25 13:34:25 +00:00
jobs.h sh: Fix race condition with signals and wait or set -T. 2013-09-02 21:57:46 +00:00
mail.c sh: Prefer "" to nullstr where possible. 2015-02-15 21:47:43 +00:00
mail.h
main.c sh: Add more necessary INTOFF/INTON. 2014-05-09 13:27:30 +00:00
main.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
Makefile Convert bin/ to LIBADD, reduce overlinking allow to build all components as 2014-11-25 11:15:40 +00:00
Makefile.depend Add META_MODE support. 2015-06-13 19:20:56 +00:00
memalloc.c sh: Add stsavestr(), like savestr() but allocates using stalloc(). 2015-02-15 21:41:29 +00:00
memalloc.h sh: Add stsavestr(), like savestr() but allocates using stalloc(). 2015-02-15 21:41:29 +00:00
miscbltin.c sh: Fix read with escaped IFS characters at the end. 2015-08-30 17:24:22 +00:00
mkbuiltins sh: Reduce size of builtins table. 2016-01-03 21:30:22 +00:00
mknodes.c sh/mknodes: Close files and check for errors when writing. 2015-12-20 16:40:36 +00:00
mksyntax.c sh: Fix more compiler warnings related to variable declarations. 2015-03-03 21:21:43 +00:00
mktokens sh: Fix compiler warnings related to duplicate or missing declarations. 2015-03-01 21:46:55 +00:00
myhistedit.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
mystring.c sh: Reject integer overflow in number and is_number. 2014-08-17 16:40:29 +00:00
mystring.h sh: Remove prefix() function. Use strncmp() instead. 2014-07-20 12:06:52 +00:00
nodes.c.pat sh: Remove global state from nodes.c. 2015-11-24 22:47:19 +00:00
nodetypes sh: Prefer "" to nullstr where possible. 2015-02-15 21:47:43 +00:00
options.c sh: Add set -o nolog. 2015-08-29 19:41:47 +00:00
options.h sh: Add set -o nolog. 2015-08-29 19:41:47 +00:00
output.c sh: Make sure output suitable as shell input is also printable. 2014-12-14 16:26:19 +00:00
output.h sh: Detect and flag write errors on stdout in builtins. 2012-12-12 22:01:10 +00:00
parser.c wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00
parser.h wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00
redir.c sh: Eliminate some gotos. 2014-10-05 21:51:36 +00:00
redir.h sh: Remove unnecessary reset functions. 2013-08-16 20:24:41 +00:00
sh.1 sh: Add set -o nolog. 2015-08-29 19:41:47 +00:00
shell.h sh: Remove #define MKINIT. 2013-07-25 19:48:15 +00:00
show.c sh: Prefer memcpy() to strcpy() in most cases. Remove the scopy macro. 2013-11-30 21:27:11 +00:00
show.h
TOUR sh: Remove mkinit. 2013-07-25 15:08:41 +00:00
trap.c sh: Fix the trap builtin to be POSIX-compliant for 'trap exit SIG' and 'trap n n...'. 2015-04-18 23:49:57 +00:00
trap.h sh: Move some code from onint() to onsig(), making onint() noreturn. 2014-12-21 23:09:59 +00:00
var.c sh: Fix use-after-free when attempting to modify a read-only variable. 2015-12-16 20:33:47 +00:00
var.h sh: Make struct arglist an array instead of a linked list. 2015-10-11 21:33:00 +00:00