diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/subst.c | 2 | ||||
-rw-r--r-- | Src/utils.c | 11 |
3 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index ccad0d1ee..0c7bffe2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-08-01 Peter Stephenson <p.stephenson@samsung.com> + + * 32932: Src/glob.c, Src/utils.c: add hmkarray() and + use to fix leak. + 2014-07-31 Barton E. Schaefer <schaefer@zsh.org> * 32931: Src/glob.c: with NO_NOMATCH, using a subscript glob diff --git a/Src/subst.c b/Src/subst.c index 471350219..d6be2f0ed 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -2935,7 +2935,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags) */ if (!vunset) { if (isarr) { - aval = mkarray(NULL); + aval = hmkarray(NULL); } else { val = dupstring(""); } diff --git a/Src/utils.c b/Src/utils.c index aa978e6b9..998e46a36 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -3372,6 +3372,17 @@ mkarray(char *s) } /**/ +mod_export char ** +hmkarray(char *s) +{ + char **t = (char **) zhalloc((s) ? (2 * sizeof s) : (sizeof s)); + + if ((*t = s)) + t[1] = NULL; + return t; +} + +/**/ mod_export void zbeep(void) { |