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 --- Src/subst.c | 2 +- Src/utils.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'Src') 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