Running: > $ zsh -fc ': ${${(PAA)p[foo]}::=x}'` in current zsh versions causes: > > [1] 4441 segmentation fault (core dumped) zsh -fc ': ${${(PAA)p[foo]}::=x}' Also happens when testing with machabot: > 19:42 > : ${${(PAA)p[foo]}::=x} > 19:42 jp: zsh[248]: segfault at 0 ip b7dfcda3 sp bfeb9ebc > error 4 in libc-2.13.so[b7d84000+149000] Add a simple `dupstring(s)` fallback. Signed-off-by: Joey Pabalinas Requested-by: Bart Schaefer 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/subst.c b/Src/subst.c index d027e3d83cadc631a7..a265a187e8730868a9 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -2430,7 +2430,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags, val = aval[0]; isarr = 0; } - s = dyncat(val, s); + s = val ? dyncat(val, s) : dupstring(s); /* Now behave po-faced as if it was always like that... */ subexp = 0; /* -- 2.16.0