freebsd-dev/bin/sh
Jilles Tjoelker 92a1de471c sh: Check setuid()/setgid() return values.
If the -p option is turned off, privileges from a setuid or setgid binary
are dropped. Make sure to check if this succeeds. If it fails, this is an
error which will cause the shell to abort except in interactive mode or if
'command' was used to make 'set' or an outer 'eval' or '.' non-special.

Note that taking advantage of this feature and writing setuid shell scripts
seems unwise.

MFC after:	1 week
2011-04-25 10:14:29 +00:00
..
bltin sh: Add kill builtin. 2010-12-21 22:47:34 +00:00
funcs sh: Update the suspend example for the change of the job control flag 2010-11-13 22:20:46 +00:00
alias.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
alias.h sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
arith_yacc.c sh: Fix some warnings in code for arithmetic expressions. 2011-03-05 13:27:13 +00:00
arith_yacc.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
arith_yylex.c Remove unnecessary cast. 2011-03-07 07:31:15 +00:00
arith.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
builtins.def sh: Add kill builtin. 2010-12-21 22:47:34 +00:00
cd.c sh: Add a function to print warnings (with command name and newline). 2010-12-21 20:47:06 +00:00
cd.h sh: On startup of the shell, use PWD from the environment if it is valid. 2010-04-17 14:35:46 +00:00
error.c sh: Add a function to print warnings (with command name and newline). 2010-12-21 20:47:06 +00:00
error.h sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
eval.c sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
eval.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
exec.c sh: Remove clearcmdentry()'s now unused argument. 2011-02-05 14:08:51 +00:00
exec.h sh: Remove clearcmdentry()'s now unused argument. 2011-02-05 14:08:51 +00:00
expand.c Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
expand.h sh: Don't do optimized command substitution if expansions have side effects. 2010-12-28 21:27:08 +00:00
histedit.c sh: Properly restore exception handler in fc. 2010-12-29 19:39:51 +00:00
init.h sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
input.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
input.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
jobs.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
jobs.h sh: Forget about terminated background processes sooner. 2010-06-29 22:37:45 +00:00
mail.c Consistently use "STATIC" for all functions in order to be able to set 2010-10-13 04:01:01 +00:00
mail.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
main.c sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
main.h sh: Do not run callers' exception handlers in subshells. 2009-12-25 20:21:35 +00:00
Makefile sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
memalloc.c sh: Follow-up to r216743, grabstackblock() can be replaced with stalloc(). 2011-01-09 22:47:58 +00:00
memalloc.h sh: Follow-up to r216743, grabstackblock() can be replaced with stalloc(). 2011-01-09 22:47:58 +00:00
miscbltin.c sh: Code size optimizations to "stack string" memory allocation: 2010-11-23 22:17:39 +00:00
mkbuiltins sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mkinit.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
mknodes.c sh: Fix crash with empty functions (f() { }) introduced in r196483 2009-08-28 22:41:25 +00:00
mksyntax.c sh: Remove the check that alpha/name/in_name chars are not CTL* bytes. 2010-11-20 14:30:28 +00:00
mktokens /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
myhistedit.h sh: Pass TERM changes to libedit. 2010-06-02 19:16:58 +00:00
mystring.c sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mystring.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
nodes.c.pat In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
nodetypes /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
options.c sh: Check setuid()/setgid() return values. 2011-04-25 10:14:29 +00:00
options.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
output.c sh: Use vsnprintf() rather than crafting our own in fmtstr(). 2010-12-11 17:47:27 +00:00
output.h sh: Code size optimizations to buffered output. 2010-11-20 14:14:52 +00:00
parser.c sh: Do not word split "${#parameter}". 2011-04-20 22:24:54 +00:00
parser.h sh: Do IFS splitting on word in ${v+word} and ${v-word}. 2010-10-29 13:42:18 +00:00
redir.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
redir.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
sh.1 sh(1): Describe subshell environment, command substitution more correctly. 2011-03-20 23:52:45 +00:00
shell.h sh: Detect dividing the smallest integer by -1. 2011-02-12 23:44:05 +00:00
show.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
show.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
TOUR sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
trap.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
trap.h sh: Make exit without parameters from EXIT trap POSIX-compliant. 2011-01-08 23:08:13 +00:00
var.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
var.h sh: Check readonly status for assignments on regular builtins. 2011-01-01 13:26:18 +00:00