summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/computil.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 97bf9bb77..afff490d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-14  Clint Adams  <clint@zsh.org>
+
+	* 25666: Src/Zle/computil.c: free memory allocated for an
+	xor if the argument number is invalid.
+
 2008-09-13  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 25662: Src/builtin.c, Test/B02typeset.ztst: declare -p
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index 2b3efa776..9af32c1fe 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -1549,6 +1549,8 @@ parse_cadef(char *nam, char **args)
 	    if (*p != ':') {
 		freecadef(all);
 		zwarnnam(nam, "invalid argument: %s", *args);
+		if (xor)
+		    free(xor);
 		return NULL;
 	    }
 	    if (*++p == ':') {