diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/Zle/complete.c | 2 | ||||
-rw-r--r-- | Src/Zle/compmatch.c | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index dda2dbb04..6a9804c59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-10-30 Peter Stephenson <p.w.stephenson@ntlworld.com> + * 25972: Src/Zle/complete.c, Src/Zle/compmatch.c: leaked + and uninitialised memory found by valgrind. + * 25971: Src/builtin.c, Src/zsh.h: fix 25937 which broke some builtins that handle options themselves. diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c index 97d148b3a..bc56bc05a 100644 --- a/Src/Zle/complete.c +++ b/Src/Zle/complete.c @@ -464,7 +464,7 @@ parse_class(Cpattern p, char *iptr) * As the input string is metafied, but shouldn't contain shell * tokens, we can just add our own tokens willy nilly. */ - optr = p->u.str = zalloc((optr-iptr) + 1); + optr = p->u.str = zhalloc((optr-iptr) + 1); while (firsttime || *iptr != endchar) { int ch; diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index f92caa7bf..7a675a544 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -1687,6 +1687,7 @@ bld_line(Cmatcher mp, char **linep, char *mword, char *word, int wlen, int sfx) llen = mp->llen; rl = 0; + *line = '\0'; if (sfx) { /* |