From 729f6ddfff8a229c404f0ec2b9d83c89395e541d Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 21 Sep 2015 20:33:58 +0100 Subject: 36580: don't copy empty buffer in compmatch. Also check if length is non-zero when buffer is empty. --- Src/Zle/compmatch.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'Src/Zle/compmatch.c') 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; } -- cgit 1.4.1