Mikael Magnusson
573679c34b
select: Fix leak of 256 bytes on every loop when zle is not used
...
Reproduce by
yes | head -n 1000000 | zsh -c 'select foo in a b c; do done; sleep 30; echo'
Found by Coverity (Issue 439082).
2015-01-10 08:48:18 +01:00
Mikael Magnusson
7dcaa2ff60
hist: remove wrong NULL terminator
...
This actually writes a NULL to some arbitrary location in the caller function's stack. Found by Coverity (Issue 1255746).
2015-01-10 08:48:18 +01:00
Peter Stephenson
cfd91eac07
Rearrange context saving.
...
Variables are now associated with the module that declares them, being
initialised and saved/restored there. However, as many variables are
used for communication between modules, many of them are set in multiple
places, so the assignment is ambiguous.
2015-01-09 21:33:39 +00:00
Mikael Magnusson
bc55ddf364
Fix a typo in bin_print error message
2015-01-09 12:37:25 +01:00
Peter Stephenson
c0d01a6fe0
Fix command substitutions to parse contents as they are read in.
...
Do this by refactoring misnamed lexsave()/lexrestore() to allow
continuity of history and input.
Add test.
2015-01-08 12:24:00 +00:00
Barton E. Schaefer
93846edb0d
34154/34155: reorder bin_print() to avoid leaking the output descriptor when incorrect/incompatible options were passed
2015-01-07 22:45:46 -08:00
Jun-ichi Takimoto
152b797596
34144: allocate origline by ztrdup(), not by dupstring()
...
If origline is allocated in heap, it will have been freed
when menuselect() is called directly as a widget.
2015-01-07 21:48:28 +09:00
Bart Schaefer
8fea30a571
34122: module: allow NULL third argument as intended
...
Found by Coverity.
2015-01-06 23:51:19 +01:00
Mikael Magnusson
4701b05cf7
34138: wcs_nicechar: only deref widthp if it was given
2015-01-06 23:51:18 +01:00
Mikael Magnusson
38dc59907b
34120: compctl, jobs: Check contents instead of array
...
text is an array in the struct, and can never be null.
Found by Coverity (Issue 1255780).
2015-01-06 23:51:01 +01:00
Mikael Magnusson
c425cc9632
34108: Don't leak ifs stuff
...
Found by Coverity (Issue 1255785).
2015-01-06 23:51:00 +01:00
Mikael Magnusson
6a5339fdd5
34107: getsubsargs: free ptr1 before returning
...
Found by Coverity (Issue 439073).
2015-01-06 23:51:00 +01:00
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
Mikael Magnusson
1507719d0a
34112: typeset: fix leak of oldval
...
Found by Coverity (Issue 1255803).
2015-01-06 23:47:30 +01:00
Mikael Magnusson
adae710eb0
34106: hist: use zhtricat instead of tricat
...
Found by Coverity (Issue 1255769).
2015-01-06 23:47:23 +01:00
Mikael Magnusson
5a9be69185
34113: whence: use dupstring to not leak memory
...
All other assignments to buf use the heap, and it's never freed. Found
by Coverity (Issue 1255786).
2015-01-06 23:47:12 +01:00
Mikael Magnusson
8035794a56
34119: complist: Fix leak of string in clnicezputs
...
Found by Coverity (Issue 1255808).
2015-01-06 23:47:05 +01:00
Mikael Magnusson
6c72895bc2
34105: subst: remove dead code
...
Found by Coverity (Issue 1255810).
2015-01-06 23:46:55 +01:00
Mikael Magnusson
9e5dc2925c
34121: compresult: Remove unneeded NULL check
...
The variable is set to if NULL at the start of the function, and derefed
on the previous line. Found by Coverity (Issue 1255843).
2015-01-06 23:46:49 +01:00
Mikael Magnusson
ea6bb993e9
34104: compctl: Remove pointless check
...
cc has already been derefed a bunch of times leading up to here. Found
by Coverity (Issue 1255841).
2015-01-06 23:46:31 +01:00
Mikael Magnusson
221ecf5010
34115: compcore: Fix size argument to zfree
...
Found by Coverity (Issue 1255852), has no impact unless using
--enable-zsh-mem, and even then it is minimal.
2015-01-06 23:46:18 +01:00
Mikael Magnusson
18b60d8512
34117: zle: size_t is unsigned, use int instead
...
The function wctomb returns an int according to my manpage, and we
furthermore check if it is negative, and then return it, and the function
signature is int, so declaring it as an int seems to make more sense.
2015-01-06 23:46:06 +01:00
Mikael Magnusson
c935381479
34116: computil: Check for NULL before passing to strlen
...
The rest of this function appears to be very careful about checking these,
then forgets in this one spot. Found by Coverity (Issue 1255805).
2015-01-06 23:45:51 +01:00
Mikael Magnusson
6b79f29fb2
34118: Don't crash when writing out history if HOST is unset
...
Found by Coverity (Issue 1255793).
2015-01-06 23:45:26 +01:00
Mikael Magnusson
a150563fb0
34114: emulate: Handle aborting from mixed -L/-c correctly
...
Somehow Coverity found this (Issue 1255797, Failure to restore non-local value).
2015-01-06 23:45:09 +01:00
Barton E. Schaefer
7e7449592a
34103: fix ancient double-quote handling thinko in subst_parse_str()
...
This doesn't seem to have mattered, but must in some obscure cases
2015-01-06 09:34:12 -08:00
Barton E. Schaefer
f9cc5a6e56
34093: "whence" should always return nonzero when it finds that nothing matches its arguments
2015-01-06 09:33:44 -08:00
Peter Stephenson
98f465c09f
34092: fix miscount of symlink resolution for "..".
...
This caused problems with expanding a path with ".." in "whence -S".
2015-01-04 19:42:45 +00:00
Peter Stephenson
f9cba834cd
34091: typo with "whence -s" expansions
2015-01-04 19:05:39 +00:00
Peter Stephenson
454bb777cf
users/19671: remove confusion with whence -a.
...
If the argument is a full path don't try to search the path for it.
2015-01-02 22:25:24 +00:00
Peter Stephenson
33d1439fdb
users/19667: whence -S shows intermediate steps in symlink expansion
2015-01-02 21:32:51 +00:00
Daniel Shahaf
e11ad500dd
34070: fix starting position for memset() from 34005.
2014-12-28 20:11:09 -08: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
89012cf94c
34015: disallow strange environment variable names.
...
These are ones with the top bit set in any character.
Don't import them, and don't export them.
2014-12-19 22:15:24 +00:00
Peter Stephenson
fd934e1187
34005: region_highlights memory fix
...
Zero uninitialised part of memory when reallocing
2014-12-19 21:55:31 +00:00
Barton E. Schaefer
95381783e9
34002: zshcalloc() in init_keymaps()
2014-12-18 18:58:25 -08:00
Barton E. Schaefer
bf075b9e0d
33992: do not attempt attachtty() for process group zero (which is possible in a linux pid namespace)
2014-12-18 18:58:25 -08:00
Peter Stephenson
ecef922df1
34008: metafy the environment on arrival in the shell
2014-12-18 19:55:53 +00:00
Peter Stephenson
f3cb9a7754
34006: unmetafy anything put into the environment
2014-12-18 19:36:03 +00:00
Peter Stephenson
04e555a92e
33981: more care with region_highlights management
2014-12-18 18:54:55 +00:00
Jun-ichi Takimoto
fe51f39dad
33978: avoid infinite loop in interactive mode
...
Update command line when accept-and-hold is called in the
interactive mode of menu select.
2014-12-18 03:49:51 +09:00
Jun Kuriyama
e12b515082
33984: bin_dirs() should use zputs() to print metafied directory names
2014-12-16 23:40:32 -08:00
Chirantan Ekbote
0c4cb0cc1b
33982: minimal support for pid namespaces by recognizing that GETPGRP() may return 0
2014-12-16 23:35:57 -08:00
Barton E. Schaefer
36ec763dbd
33976: fix overlapping strcpy()
2014-12-15 16:41:08 -08:00
Oliver Kiddle
1e0064e58b
33956: document key binding changes and remove ^X binding
2014-12-13 19:34:24 +01:00
Oliver Kiddle
5b7950e6ef
33846: additional default vi-mode key bindings
2014-12-13 19:32:55 +01:00
Oliver Kiddle
edb9c94025
33950: ignore KEYTIMEOUT for vi operators
2014-12-12 14:14:00 +01: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
Jun-ichi Takimoto
45d0046d8f
33940: handle backslash-meta correctly in lexer
2014-12-10 08:20:40 +09:00