From b79ef8caaf00d5fb26fa968fd2789a3f969ab22c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 1 Aug 2014 16:15:13 +0100 Subject: 32932: add hmkarray() and use to fix leak --- ChangeLog | 5 +++++ Src/subst.c | 2 +- Src/utils.c | 11 +++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ccad0d1ee..0c7bffe2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-08-01 Peter Stephenson + + * 32932: Src/glob.c, Src/utils.c: add hmkarray() and + use to fix leak. + 2014-07-31 Barton E. Schaefer * 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 @@ -3371,6 +3371,17 @@ mkarray(char *s) return t; } +/**/ +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) -- cgit 1.4.1