diff options
author | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2015-09-21 20:33:58 +0100 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2015-09-21 20:33:58 +0100 |
commit | 729f6ddfff8a229c404f0ec2b9d83c89395e541d (patch) | |
tree | b369afbfa57557ae5549cee929e4f984590a0cae | |
parent | 8b84419f45298ee564bd6fa2b531c8991b2a1983 (diff) | |
download | zsh-729f6ddfff8a229c404f0ec2b9d83c89395e541d.tar.gz zsh-729f6ddfff8a229c404f0ec2b9d83c89395e541d.tar.xz zsh-729f6ddfff8a229c404f0ec2b9d83c89395e541d.zip |
36580: don't copy empty buffer in compmatch.
Also check if length is non-zero when buffer is empty.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/Zle/compmatch.c | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 1dd57123c..4a8c0531a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-09-21 Peter Stephenson <p.w.stephenson@ntlworld.com> + + * 36580: Src/Zle/compmatch.c: don't copy empty buffer and check + size is consistent. + 2015-09-21 Frank Terbeck <ft@bewatermyfriend.org> * 36575: Completion/Unix/Command/_tmux: _tmux: ‘lock-server’ diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index 05ae43ae6..b5728a5fe 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -338,8 +338,15 @@ add_match_str(Cmatcher m, char *l, char *w, int wl, int sfx) char *buf; buf = (char *) zalloc(blen); - memcpy(buf, matchbuf, matchbuflen); - zfree(matchbuf, matchbuflen); + if (matchbuf) { + memcpy(buf, matchbuf, matchbuflen); + zfree(matchbuf, matchbuflen); + } +#ifdef DEBUG + else { + DPUTS(matchbuflen, "matchbuflen with no matchbuf"); + } +#endif matchbuf = buf; matchbuflen = blen; } |