Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

crash with nameref and local argv



% () { 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