From 1b2d095217d1560a648032aa192057b935ce9460 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Thu, 31 May 2001 09:43:59 +0000 Subject: fix two memory leaks (at least I hope they are fixed) and some out-of-bound array accesses, plus some defensive programming for heap allocated param structs (14605) --- Src/Zle/computil.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Src/Zle/computil.c') diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index d7d44f999..2c0e119f9 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -819,8 +819,9 @@ parse_cadef(char *nam, char **args) if (!multi) { if (!xor) { xor = (char **) zalloc(2 * sizeof(char *)); - xor[1] = NULL; + xor[0] = xor[1] = NULL; } + zsfree(xor[xnum]); xor[xnum] = ztrdup(rembslashcolon(name)); } if (c == ':') { @@ -1029,7 +1030,7 @@ get_cadef(char *nam, char **args) Cadef *p, *min, new; int i, na = arrlen(args); - for (i = MAX_CACACHE, p = cadef_cache, min = NULL; *p && i; p++, i--) + for (i = MAX_CACACHE, p = cadef_cache, min = NULL; i && *p; p++, i--) if (*p && na == (*p)->ndefs && arrcmp(args, (*p)->defs)) { (*p)->lastt = time(0); -- cgit v1.2.3