about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2008-09-14 09:00:26 +0000
committerClint Adams <clint@users.sourceforge.net>2008-09-14 09:00:26 +0000
commit06cc84ce849c2e28286ea68aed02cb8df2fb9ab7 (patch)
tree7ef6707ede97815de73a4d92f8a91bc3cd605d3d /Src
parent430a7535fa73917418713fb714840fc2ae0c3e4c (diff)
downloadzsh-06cc84ce849c2e28286ea68aed02cb8df2fb9ab7.tar.gz
zsh-06cc84ce849c2e28286ea68aed02cb8df2fb9ab7.tar.xz
zsh-06cc84ce849c2e28286ea68aed02cb8df2fb9ab7.zip
25667: free mstr before returning from errors.
Diffstat (limited to 'Src')
-rw-r--r--Src/Zle/complete.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c
index 4b947834b..60c917853 100644
--- a/Src/Zle/complete.c
+++ b/Src/Zle/complete.c
@@ -679,10 +679,12 @@ bin_compadd(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
                     p = "" - 1;
                 } else {
                     zwarnnam(name, "number expected after -%c", *p);
+		    zsfree(mstr);
                     return 1;
                 }
                 if (dat.dummies < 0) {
                     zwarnnam(name, "invalid number: %d", dat.dummies);
+		    zsfree(mstr);
                     return 1;
                 }
 		break;
@@ -691,6 +693,7 @@ bin_compadd(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
 		goto ca_args;
 	    default:
 		zwarnnam(name, "bad option: -%c", *p);
+		zsfree(mstr);
 		return 1;
 	    }
 	    if (sp) {