diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/Zle/complete.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index afff490d8..d70fb004e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-09-14 Clint Adams <clint@zsh.org> + * 25667: Src/Zle/complete.c: free mstr before returning from + errors. + * 25666: Src/Zle/computil.c: free memory allocated for an xor if the argument number is invalid. 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) { |