diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2018-04-09 00:42:15 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2018-04-09 00:42:15 +0200 |
commit | fe36c1ada77f817dbeeeed5ee70c7ba08eeb1d18 (patch) | |
tree | 0229967da5e73bd29a2d6014c847509b361f3631 /Src/params.c | |
parent | 1521c7d0f7e607b789564e819173e228e9475137 (diff) | |
parent | f9e9dce5443f323b340303596406f9d3ce11d23a (diff) | |
download | zsh-fe36c1ada77f817dbeeeed5ee70c7ba08eeb1d18.tar.gz zsh-fe36c1ada77f817dbeeeed5ee70c7ba08eeb1d18.zip |
Merge tag 'zsh-5.5' and hence branch 'upstream' into branch 'debian'
Release 5.5 of zsh
Diffstat (limited to 'Src/params.c')
-rw-r--r-- | Src/params.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Src/params.c b/Src/params.c index de7730ae7..36f5f0676 100644 --- a/Src/params.c +++ b/Src/params.c @@ -3216,7 +3216,7 @@ assignaparam(char *s, char **val, int flags) * This only applies if the flag ASSPM_KEY_VALUE is passed in, * indicating prefork() detected this syntax. * - * For associative arrays we just junk the Makrer elements. + * For associative arrays we just junk the Marker elements. */ if (flags & ASSPM_KEY_VALUE) { char **aptr; @@ -3243,6 +3243,7 @@ assignaparam(char *s, char **val, int flags) (!isset(KSHARRAYS) && *iptr == 0)) { unqueue_signals(); zerr("bad subscript for direct array assignment: %s", *aptr); + freearray(val); return NULL; } if (!isset(KSHARRAYS)) @@ -3260,6 +3261,7 @@ assignaparam(char *s, char **val, int flags) fullval = zshcalloc((maxlen+1) * sizeof(char *)); if (!fullval) { zerr("array too large"); + freearray(val); return NULL; } fullval[maxlen] = NULL; |