1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-23 17:01:05 +02:00
Commit graph

254 commits

Author SHA1 Message Date
Mikael Magnusson
bd2175fe7d 34134: anon funcs: don't leak shf and related data
Found by Coverity (Issue 439076).
2015-01-06 23:50:37 +01:00
Takeshi Banse
1cd8023570 34064: assignment before command replaces array with export even when KSH_ARRAYS 2014-12-27 22:05:05 -08:00
Barton E. Schaefer
d6a32ddeed 34065: following an "if" condition, do not test lastval for ERR_EXIT until a new command is run
Includes unposted regression tests.
2014-12-27 21:55:58 -08:00
Peter Stephenson
d067ebcacd 33876: etc.: Separate errors and keyboards interrupts
Combination of 12 commits from interrupt_abort branch.

Basic strategy is to introduce bits to errflag and to set and
reset them separately.

Remove interrupt status on return to main keymap.

Turn off ERRFLAG_INT for always block.

Restore bit thereafter: we probably need a new variable in order
to allow user interrupts to be reset in the always block.

Add TRY_BLOCK_INTERRUPT

This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too.

Ensure propagation of SIGINT from exited job.

If received by foreground job, shell uses ERRFLAG_INT, not
ERRFLAG_ERROR, to set the new state.

Reset errflag before precmd()

Add always block in _main_completion to fix ZLS_COLORS

Ensures we get the right state of $ZLS_COLORS at the end of _main_complete
even if there's an interrupt.  However, the "right state" is a bit messy
as it depends on styles.
2014-12-11 09:41:17 +00:00
Oliver Kiddle
0d4b548d1e 33818: fix types passed to sizeof detected by coverity as being wrong 2014-11-30 23:19:55 +01:00
Barton E. Schaefer
49d6aace41 33816, 33819: GLOB_ASSIGN changes integer and floating type variables to string scalars 2014-11-28 13:30:22 -08:00
Barton E. Schaefer
2b615bedaf 33775: error opening file in $(<...) is not fatal 2014-11-23 16:02:48 -08:00
Barton E. Schaefer
7abd611a23 33614 (based on RedHat BZ-978613): signal safety when updating global state in execshfunc() 2014-11-06 10:50:20 -08:00
Peter Stephenson
023c2236e1 Treat exec from subshell as if forked
This removes weird behaviour when optimising the last command.
In particular SHLVL is correct from a subshell executed as the last
command.
2014-11-02 15:29:06 +00:00
Peter Stephenson
b4f7ccecd9 33531 with additions: retain status of exited background jobs.
Add linked list of unwaited-for background jobs.
Truncate at value of _SC_CHILD_MAX discarding oldest.
Remove old lastpid_status mechanism for latest exited process only.
Slightly tighten safety of permanently allocated linked lists so
that this doesn't compromise signal handling.
2014-10-26 17:47:42 +00:00
Barton E. Schaefer
2d4743ce50 33493: use correct command name in error messages about "ulimit" failure; restore internal copy of limits if setrlimit() fails, so the error won't repeat 2014-10-22 08:42:37 -07:00
Mikael Magnusson
49a3086bb6 33365: avoid buffer overflow for very long fds in >& fd syntax 2014-10-06 20:34:28 +02:00
Peter Stephenson
f16813792e 33325: fix ksh autoloads with redirections on function definitions 2014-10-02 16:15:10 +01:00
Barton E. Schaefer
32473f59a3 Merge branch 'master' of git://git.code.sf.net/p/zsh/code
Conflicts:
	ChangeLog
2014-09-29 17:52:33 -07:00
Peter Stephenson
8cb67e721b 33286: handle redirections for multiply named functions 2014-09-29 21:31:37 +01:00
Peter Stephenson
cf6b0f5663 33285: apply function definition redirections at execution 2014-09-29 21:02:59 +01:00
Barton E. Schaefer
60e31a45b0 33268: interactive shells treat SIGPIPE like SIGHUP if and only if SHTTY is disconnected 2014-09-29 08:59:31 -07:00
Barton E. Schaefer
a3b1e3ffb1 33100: check $fd more rigorously in "exec {fd}<&-" 2014-09-03 08:46:56 -07:00
Barton E. Schaefer
839a72de10 33077: SHTTY = -1 when closing it in closem() 2014-08-31 13:53:25 -07:00
Peter Stephenson
b5198b10a1 32768 with further modifications: LOCAL_LOOPS option. 2014-06-13 21:39:44 +01:00
Barton E. Schaefer
848badaa5f 32568: consistency in handling of errflag condition during substitutions
Affects for/select word lists, function definition name position, and
anonymous function argument lists.
2014-04-20 10:27:15 -07:00
Andrew Waldron
8189e12312 32552 (updated by 32560): fix segfault when using process substitution in anonymous function argument list
Also disallow process substitution in function name position.
2014-04-18 07:30:36 -07:00
Peter Stephenson
aede5c52bf 32176: plug additional deadlock-inducing pipe descriptor leaks 2013-12-21 17:41:21 -08:00
Barton E. Schaefer
9887fc3d7b 32171: close pipe descriptor in parent when left side is a shell construct to
prevent deadlock

Also clean up ChangeLog entry that attributed 32119 to 32114
2013-12-20 23:03:46 -08:00
Daniel Shahaf
b28a6365f6 32091: WARN_CREATE_GLOBAL false positive.
In cases like () { foo=bar =true; }
2013-12-06 09:28:42 +00:00
Barton E. Schaefer
c98cbe25d2 31919: fix deadlock when a shell builtin with a multio redirection is used on the left side of a pipeline
Make sure stdin/out/err file descriptors are closed for the multio copy
process, which means not re-using those descriptors after they are closed
and marked FDT_UNUSED in fdtable[].  For completeness, initialize their
fdtable[] state to FDT_EXTERNAL.
2013-10-27 15:42:00 -07:00
Barton E. Schaefer
c39d2f8e49 31912: in closemn(), distinguish closing for >&- from closing for a real redirect
Fixes knock-on multios bug introduced by workers/20666 way back in 2005.
2013-10-27 11:27:41 -07:00
Peter Stephenson
9a044f1a6a Use VERBOSE option in execstring() 2013-10-19 23:08:24 +01:00
Peter Stephenson
8879c46a48 31846: fix NOEXEC option in execsimple() optimisation 2013-10-18 23:42:07 +01:00
Bart Schaefer
978b5bcc8d 31832: make execrestore() more signal-safe. 2013-10-17 07:35:05 -07:00
Peter Stephenson
68a9bab11d 31809: Make whitespace clear in trace output for patterns. 2013-10-10 17:12:50 +01:00
Peter Stephenson
709dbbbda8 31549: Fix third problem with file descriptor management.
Replace ad-hoc subsh_close file descriptor for pipe management with the new
job-based addfilelist() mechanism.
2013-07-21 18:23:04 +01:00
Peter Stephenson
39ab9952e8 31545: Use of FD_CLOEXEC to remove possibility of fd reuse.
File descriptors of mmap'd dump files are closed if and only if
an exec is performed.
2013-07-20 23:23:18 +01:00
Peter Stephenson
3c5732223f 31528: use job table to record file descriptors associated with process subst 2013-07-17 21:33:16 +01:00
Peter Stephenson
fdf2867e5f 31444: Basic code for enable/disable -p 2013-06-13 18:38:33 +01:00
Frank Terbeck
2405b0ac0c 31376: Make sure every execve() is prefixed by winch_unblock()
This was suggested by Bart Schaefer in 31375.
2013-05-05 20:33:36 +02:00
Frank Terbeck
9604bc9a9f Revert "31372: Do not block SIGWINCH for child processes"
This reverts commit f8ab02ad5f.

As Bart suggested in 31375.
2013-05-05 20:33:07 +02:00
Bart Schaefer
f8ab02ad5f 31372: Do not block SIGWINCH for child processes
Something similar may also be needed in the zpty and clone modules.
2013-05-05 11:27:39 +02:00
Peter Stephenson
fb3ad98f71 31141: Tighten NO_CLOBBER restrictions on {fd} syntax
to apply only if $fd is exactly an fd and nothing else.
2013-03-10 21:45:04 +00:00
Peter Stephenson
1869eeb393 30876: fix obscure failures to propagate non-zero status
from optimised simple commands within lists
2012-12-13 10:36:59 +00:00
Peter Stephenson
4b86cc48f7 30726: make shell options passed to emulate stick along with the emulation 2012-10-11 20:14:01 +00:00
Peter Stephenson
ad92cb3203 30724: shell code optimisd to use execsimple() doesn't have a valid thisjob 2012-10-11 16:36:14 +00:00
Peter Stephenson
4e2cdd7956 30722: fix some cases where emulations or options were not propagated properly
from the emulate command
2012-10-07 19:46:46 +00:00
Peter Stephenson
6f3ff6b653 30633: "functions -T" only traces marked function, not called functions 2012-08-21 18:03:01 +00:00
Peter Stephenson
86f8e8de69 30307 plus tweak suggsted by Wayne: use %lld for zlong when long long 2012-03-05 10:06:28 +00:00
Bart Schaefer
8c37e6f077 30272 (tweaked): most failures of fork() cause non-interactive shells to
exit nonzero; bad options to "exec" cause exit under POSIX_BUILTINS.
2012-03-01 03:33:18 +00:00
Peter Stephenson
53f893d062 30181, plus rename of PF_* flags to PREFORK_*:
Pass sh-wordsplitting instructions to paramsubst() using flags,
avoiding side effects of explicitly setting and unsetting the
SHWORDSPLIT option.
2012-02-12 20:27:48 +00:00
Frank Terbeck
c8381cda78 30111: Src/exec.c: Fix segfaults with exec options. 2012-01-16 22:14:11 +00:00
Peter Stephenson
93139f39f1 30000 plus some comments: Better POSIXJOBs behaviour.
Don't restore default SIGTTOU etc. behaviour if still doing job control.
Only carry on doing job control in subshell if it's a real
(...) subshell
2011-12-12 19:25:02 +00:00
Peter Stephenson
faa02346a8 29844, 29845: remove bogus
error on closing fd's 0 to 9; update test
2011-10-26 18:48:13 +00:00