1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-22 04:31:14 +02:00
Commit graph

2909 commits

Author SHA1 Message Date
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