freebsd-nq/bin/sh
Jilles Tjoelker d3eae2a68e sh: Fix rare memory leak with SIGINT
If getcwd() failed earlier on but later succeeded in the pwd builtin,
there was no INTOFF protection between calling savestr() and storing its
result.

It is quite rare for getcwd() to fail, and rarer for it to succeed later in
the same directory.

Found via code inspection for changing ckmalloc() and similar to assert
INTOFF protection instead of applying it directly (which protects against
corrupting malloc's internal state but allows memory leaks or double frees).

MFC after:	1 week
2020-01-01 12:06:37 +00:00
..
bltin
funcs
tests sh: Test that executing various binary files is rejected 2019-12-30 21:32:55 +00:00
alias.c
alias.h
arith_yacc.c sh: Restore $((x)) error checking after fix for $((-9223372036854775808)) 2019-02-10 22:23:05 +00:00
arith_yacc.h sh: Restore $((x)) error checking after fix for $((-9223372036854775808)) 2019-02-10 22:23:05 +00:00
arith_yylex.c sh: Restore $((x)) error checking after fix for $((-9223372036854775808)) 2019-02-10 22:23:05 +00:00
arith.h
builtins.def
cd.c sh: Fix rare memory leak with SIGINT 2020-01-01 12:06:37 +00:00
cd.h
dot.profile Install .shrc for root, and set PS1 for the toor account. 2019-01-24 23:34:51 +00:00
dot.shrc Comment out the default sh(1) aliases for root, introduced in r343416. 2019-01-25 17:09:26 +00:00
error.c sh: Unify EXERROR and EXEXEC 2018-11-09 14:58:24 +00:00
error.h sh: Unify EXERROR and EXEXEC 2018-11-09 14:58:24 +00:00
eval.c sh: Unify EXERROR and EXEXEC 2018-11-09 14:58:24 +00:00
eval.h
exec.c sh: Unify EXERROR and EXEXEC 2018-11-09 14:58:24 +00:00
exec.h sh: Use exitstatus instead of exerrno to pass EXEXEC status 2018-10-27 20:17:57 +00:00
expand.c sh: Fix ${param?} default error message 2018-11-28 20:03:53 +00:00
expand.h
histedit.c Do not use our custom completion function, it is not needed anymore 2019-09-16 07:31:59 +00:00
input.c sh: Use 126 and 127 exit status for failures opening a script 2018-11-27 21:49:59 +00:00
input.h
jobs.c sh: Add set -o pipefail 2019-02-24 21:05:13 +00:00
jobs.h sh: Move various structs from jobs.h to jobs.c 2018-01-01 22:31:52 +00:00
mail.c sh: Don't use padvance() for MAIL/MAILPATH 2018-07-15 09:14:30 +00:00
mail.h
main.c sh: Unify EXERROR and EXEXEC 2018-11-09 14:58:24 +00:00
main.h
Makefile Fix .depend files to work for build tools. 2019-06-15 17:08:13 +00:00
Makefile.depend
memalloc.c
memalloc.h
miscbltin.c
mkbuiltins Don't hardcode /usr/bin as the path for mktemp in build tools 2018-02-06 15:41:35 +00:00
mknodes.c
mksyntax.c sh: Split CNL syntax category to avoid a check on state[level].syntax 2018-05-21 21:52:48 +00:00
mktokens Don't hardcode /usr/bin as the path for mktemp in build tools 2018-02-06 15:41:35 +00:00
myhistedit.h
mystring.c
mystring.h
nodes.c.pat
nodetypes
options.c
options.h sh: Add set -o pipefail 2019-02-24 21:05:13 +00:00
output.c sh: Send normal output from bind builtin to stdout 2019-02-19 21:27:30 +00:00
output.h sh: Send normal output from bind builtin to stdout 2019-02-19 21:27:30 +00:00
parser.c Make sh(1) support \u in PS1. This removes one fork/exec on interactive 2019-01-24 11:59:46 +00:00
parser.h
profile Don't mess with BLOCKSIZE in shell startup files - it's set by login.conf(5); 2019-01-20 22:08:49 +00:00
redir.c
redir.h
sh.1 sh: Add set -o pipefail 2019-02-24 21:05:13 +00:00
shell.h sh: Restore $((x)) error checking after fix for $((-9223372036854775808)) 2019-02-10 22:23:05 +00:00
show.c
show.h
TOUR sh: Unify EXERROR and EXEXEC 2018-11-09 14:58:24 +00:00
trap.c
trap.h
var.c sh: Do not place exported but unset variables into the environment 2019-01-03 20:22:35 +00:00
var.h