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')
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