summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2025-10-31 10:38:50 +0100
committerOliver Kiddle <opk@zsh.org>2025-10-31 10:38:50 +0100
commitebd51de38cb45e8988c941392dbec14a93f7a673 (patch)
tree8c0f6377dbeee2aae1d98ccf99e847451057cd54
parent54007: remove some uses of mod_export that were likely unintended (diff)
downloadzsh-ebd51de38cb45e8988c941392dbec14a93f7a673.tar
zsh-ebd51de38cb45e8988c941392dbec14a93f7a673.tar.gz
zsh-ebd51de38cb45e8988c941392dbec14a93f7a673.tar.bz2
zsh-ebd51de38cb45e8988c941392dbec14a93f7a673.tar.lz
zsh-ebd51de38cb45e8988c941392dbec14a93f7a673.tar.xz
zsh-ebd51de38cb45e8988c941392dbec14a93f7a673.tar.zst
zsh-ebd51de38cb45e8988c941392dbec14a93f7a673.zip
54012: fix use of out of scope array variable
-rw-r--r--ChangeLog2
-rw-r--r--Src/subst.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 51e77a740..9e5110098 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2025-10-31 Oliver Kiddle <opk@zsh.org>
+ * 54012: Src/subst.c: fix use of out of scope array variable
+
* 54007: Src/exec.c, Src/hist.c, Src/init.c, Src/jobs.c, Src/module.c,
Src/params.c, Src/signals.c, Src/Zle/complete.c, Src/Zle/zle_misc.c,
Src/Zle/compresult.c, Src/Zle/zle_keymap.c, Src/Zle/zle_main.c:
diff --git a/Src/subst.c b/Src/subst.c
index d0f2a1b45..be2333ca5 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -1626,6 +1626,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
int *ret_flags)
{
char *aptr = *str, c, cc;
+ char *arr[2];
char *s = aptr, *fstr, *idbeg, *idend, *ostr = (char *) getdata(n);
int colf; /* != 0 means we found a colon after the name */
/*
@@ -3266,7 +3267,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
}
if (arrasg) {
/* This is an array assignment. */
- char *arr[2], **t, **a, **p;
+ char **t, **a, **p;
if (spsep || spbreak) {
aval = sepsplit(val, spsep, 0, 1);
isarr = nojoin ? 1 : 2;