freebsd-dev/bin/sh
Jilles Tjoelker e9e9223546 sh: Fix a crash with the stackmark code.
If a stack mark is set while the current stack block is empty, the stack
block may move later on (because of realloc()) and the stack mark needs to
be updated. This updating does not happen after popstackmark() has been
called; therefore, call setstackmark() again if the stack mark is still
being used.

For some reason, this only affects a few users. I cannot reproduce it. The
situation seems quite rare as well because an empty stack block would
usually be freed (by popstackmark()) before execution reaches a
setstackmark() call.

PR:		175922
Tested by:	KT Sin
2013-02-19 23:46:51 +00:00
..
bltin sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
funcs sh: Remove "kill" example function, which is superseded by the kill builtin 2012-01-21 20:39:17 +00:00
alias.c sh: Fix two issues when an alias is redefined: 2012-11-08 13:33:48 +00:00
alias.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
arith_yacc.c Add prototypes, ANSIfy functions definitions to reduce WARNS=6 output. 2012-01-25 08:42:19 +00:00
arith_yacc.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
arith_yylex.c Add prototypes, ANSIfy functions definitions to reduce WARNS=6 output. 2012-01-25 08:42:19 +00:00
arith.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
builtins.def sh: Remove the "exp" builtin. 2011-05-27 20:53:07 +00:00
cd.c sh: Prefer internal nextopt() to libc getopt(). 2012-09-15 21:56:30 +00:00
cd.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +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: Fix a crash with the stackmark code. 2013-02-19 23:46:51 +00:00
eval.h sh: Fix execution of multiple statements in a trap when evalskip is set 2012-01-16 11:07:46 +00:00
exec.c sh: Simplify cd-hash interaction. 2013-01-14 16:40:50 +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: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
expand.h sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
histedit.c sh: Prefer internal nextopt() to libc getopt(). 2012-09-15 21:56:30 +00:00
init.h sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
input.c sh: Replace an mkinit use with an initialization. 2013-01-19 22:12:08 +00:00
input.h sh: Remove an unused variable. 2012-11-14 14:08:24 +00:00
jobs.c Catch TRACE parameters up with r238888. This change is only needed when 2013-02-07 19:00:54 +00:00
jobs.h sh: Remove unused variable in_dowait. 2012-07-15 10:49:16 +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: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
main.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
Makefile Work better with how make/bmake works: 2012-05-24 19:48:15 +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: Prefer our character classification functions to <ctype.h>. 2013-01-31 22:10:57 +00:00
mkbuiltins Work better with how make/bmake works: 2012-05-24 19:48:15 +00:00
mkinit.c sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +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: Simplify mksyntax and make it fit for cross-compiling. 2013-02-07 22:42:33 +00:00
mktokens sh: Add case statement fallthrough (with ';&' instead of ';;'). 2011-06-17 13:03:49 +00:00
myhistedit.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
mystring.c sh: Remove unused function scopyn(). 2012-01-01 22:15:38 +00:00
mystring.h sh: Remove unused function scopyn(). 2012-01-01 22:15:38 +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 sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
options.c sh: Remove XXX comment about removing nextopt(). 2012-09-08 19:24:03 +00:00
options.h sh: Add do-nothing -h option. 2011-06-18 23:43:28 +00:00
output.c sh: Detect and flag write errors on stdout in builtins. 2012-12-12 22:01:10 +00:00
output.h sh: Detect and flag write errors on stdout in builtins. 2012-12-12 22:01:10 +00:00
parser.c sh: Fix crash when parsing '{ } &'. 2013-01-13 19:26:33 +00:00
parser.h sh: Fix a comment. 2013-02-07 21:24:10 +00:00
redir.c sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
redir.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
sh.1 Add FILES section. 2013-01-22 18:02:58 +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 mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
trap.c sh: Fix EINTR race condition in "wait" and "set -T" using sigsuspend(). 2012-07-29 18:04:38 +00:00
trap.h sh: Fix EINTR race condition in "wait" and "set -T" using sigsuspend(). 2012-07-29 18:04:38 +00:00
var.c sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
var.h sh: Use vfork in a few common cases. 2012-02-04 23:12:14 +00:00