Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: crash with nameref and local argv
This still seems to crash for me with recent git.
On Tue, Jun 10, 2025 at 1:11 PM Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
>
> % () { local argv=( $argv ); typeset -nu foo=argv; echo $foo }
> Program received signal SIGSEGV, Segmentation fault.
> getvaluearr (v=0x7fffffffbc60) at params.c:691
> 691 return v->arr = v->pm->gsu.a->getfn(v->pm);
> (gdb) bt
> #0 getvaluearr (v=0x7fffffffbc60) at params.c:691
> #1 0x0000000000483555 in getarrvalue (v=0x7fffffffbc60) at params.c:2539
> #2 0x00000000004b0d76 in paramsubst (l=0x7ffff7fbf3a0, n=0x7ffff7fbf3d0,
> str=0x7fffffffbda0, qt=0, pf_flags=0, ret_flags=0x7fffffffbeb4) at
> subst.c:2924
> #3 0x00000000004ab2a9 in stringsubst (list=0x7ffff7fbf3a0,
> node=0x7ffff7fbf3d0, pf_flags=0,
> ret_flags=0x7fffffffbeb4, asssub=0) at subst.c:322
> (gdb) list
> 686 getvaluearr(Value v)
> 687 {
> 688 if (v->arr)
> 689 return v->arr;
> 690 else if (PM_TYPE(v->pm->node.flags) == PM_ARRAY)
> 691 return v->arr = v->pm->gsu.a->getfn(v->pm);
> 692 else if (PM_TYPE(v->pm->node.flags) == PM_HASHED) {
> 693 v->arr = paramvalarr(v->pm->gsu.h->getfn(v->pm), v->isarr);
> 694 /* Can't take numeric slices of associative arrays */
> 695 v->start = 0;
> (gdb) p v->pm
> $1 = (Param) 0x51fe60
> (gdb) p v->pm->gsu.a
> $2 = (GsuArray) 0x0
--
Mikael Magnusson
Messages sorted by:
Reverse Date,
Date,
Thread,
Author