summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/Zle/zle_tricky.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2b02d785b..6f351250e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-09-08 Clint Adams <clint@zsh.org>
+ * 25636: Src/Zle/zle_tricky.c: free s before returning with an
+ error condition.
+
* 25634: Src/Zle/zle_main.c: free t before returning if both t and
errflag are set.
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 4786f30de..bc0152401 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -2834,8 +2834,14 @@ expandcmdpath(UNUSED(char **args))
noaliases = 1;
s = getcurcmd();
noaliases = na;
- if (!s || cmdwb < 0 || cmdwe < cmdwb)
+ if (!s)
+ return 1;
+
+ if (cmdwb < 0 || cmdwe < cmdwb) {
+ zsfree(s);
return 1;
+ }
+
str = findcmd(s, 1);
zsfree(s);
if (!str)