Roland Mainz
2013-07-16 21:31:10 UTC
Hi!
----
The following testcase should test (with ast-ksh.2013-06-28 on SuSE
12.3/AMD/64/64bit) the ".unset" discipline on an (1D) indexed array of
types but triggers a row of valgrind hits:
-- snip --
$ ~/vg/bin/valgrind --track-origins=yes ~/bin/ksh -c 'function f { x_t
-a x ; (( x[4].i=1 )) ; } ; typeset -T x_t=( integer i=0; function
unset { printf "gone %d\n" _.i ; } ) ; f'
==6065== Memcheck, a memory error detector
==6065== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==6065== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==6065== Command: /home/test001/bin/ksh -c function\ f\ {\ x_t\ -a\ x\
;\ ((\ x[4].i=1\ ))\ ;\ }\ ;\ typeset\ -T\ x_t=(\ integer\ i=0;\
function\ unset\ {\ printf\ "gone\ %d\\n"\ _.i\ ;\ }\ )\ ;\ f
[snip]
==6065==
gone 1
==6065== Invalid read of size 8
==6065== at 0x4498C8: nv_name (name.c:3719)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953420 is 48 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498D0: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498E3: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449992: nv_name (name.c:3739)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4A6094: nv_arrayptr (array.c:969)
==6065== by 0x4499A6: nv_name (name.c:3742)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4499AB: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x4499BF: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953428 is 56 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x495A0E: nv_hasdisc (nvdisc.c:777)
==6065== by 0x4976E3: nv_istable (nvdisc.c:1447)
==6065== by 0x449B24: nv_name (name.c:3756)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== Address 0x5953410 is 32 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x449B3E: nv_name (name.c:3762)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449B54: nv_name (name.c:3765)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953410 is 32 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449BBE: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x449BC2: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449C05: nv_name (name.c:3777)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x511B65: sfvprintf (sfvprintf.c:755)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x512271: sfvprintf (sfvprintf.c:824)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x4498C8: nv_name (name.c:3719)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953420 is 48 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498D0: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498E3: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449992: nv_name (name.c:3739)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4A6094: nv_arrayptr (array.c:969)
==6065== by 0x4499A6: nv_name (name.c:3742)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4499AB: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x4499BF: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953428 is 56 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x449B3E: nv_name (name.c:3762)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449B54: nv_name (name.c:3765)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953410 is 32 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449BBE: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x449BC2: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449C05: nv_name (name.c:3777)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x511B65: sfvprintf (sfvprintf.c:755)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x512271: sfvprintf (sfvprintf.c:824)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
gone 0
==6065==
[snip]
-- snip --
2nd issue is that the testcase should print "gone 1" but instead prints this:
-- snip --
$ ksh -c 'function f { x_t -a x ; (( x[4].i=1 )) ; } ; typeset -T
x_t=( integer i=0; function unset { printf "gone %d\n" _.i ; } ) ; f'
gone 1
gone 0
-- snip --
----
Bye,
Roland
----
The following testcase should test (with ast-ksh.2013-06-28 on SuSE
12.3/AMD/64/64bit) the ".unset" discipline on an (1D) indexed array of
types but triggers a row of valgrind hits:
-- snip --
$ ~/vg/bin/valgrind --track-origins=yes ~/bin/ksh -c 'function f { x_t
-a x ; (( x[4].i=1 )) ; } ; typeset -T x_t=( integer i=0; function
unset { printf "gone %d\n" _.i ; } ) ; f'
==6065== Memcheck, a memory error detector
==6065== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==6065== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==6065== Command: /home/test001/bin/ksh -c function\ f\ {\ x_t\ -a\ x\
;\ ((\ x[4].i=1\ ))\ ;\ }\ ;\ typeset\ -T\ x_t=(\ integer\ i=0;\
function\ unset\ {\ printf\ "gone\ %d\\n"\ _.i\ ;\ }\ )\ ;\ f
[snip]
==6065==
gone 1
==6065== Invalid read of size 8
==6065== at 0x4498C8: nv_name (name.c:3719)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953420 is 48 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498D0: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498E3: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449992: nv_name (name.c:3739)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4A6094: nv_arrayptr (array.c:969)
==6065== by 0x4499A6: nv_name (name.c:3742)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4499AB: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x4499BF: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953428 is 56 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x495A0E: nv_hasdisc (nvdisc.c:777)
==6065== by 0x4976E3: nv_istable (nvdisc.c:1447)
==6065== by 0x449B24: nv_name (name.c:3756)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== Address 0x5953410 is 32 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x449B3E: nv_name (name.c:3762)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449B54: nv_name (name.c:3765)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953410 is 32 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449BBE: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x449BC2: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449C05: nv_name (name.c:3777)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x511B65: sfvprintf (sfvprintf.c:755)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x512271: sfvprintf (sfvprintf.c:824)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x465E5C: set_instance (xec.c:634)
==6065== by 0x470082: sh_fun_20120720 (xec.c:3420)
==6065== by 0x4946C3: assign (nvdisc.c:296)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x4A582A: array_putval (array.c:811)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x4498C8: nv_name (name.c:3719)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953420 is 48 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498D0: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4498E3: nv_name (name.c:3726)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449992: nv_name (name.c:3739)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4A6094: nv_arrayptr (array.c:969)
==6065== by 0x4499A6: nv_name (name.c:3742)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x4499AB: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x4499BF: nv_name (name.c:3744)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953428 is 56 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 2
==6065== at 0x449B3E: nv_name (name.c:3762)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953408 is 24 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449B54: nv_name (name.c:3765)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953410 is 32 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449BBE: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x449BC2: nv_name (name.c:3773)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 8
==6065== at 0x449C05: nv_name (name.c:3777)
==6065== by 0x449C20: nv_name (name.c:3785)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== Address 0x5953400 is 16 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x511B65: sfvprintf (sfvprintf.c:755)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
==6065== Invalid read of size 1
==6065== at 0x512271: sfvprintf (sfvprintf.c:824)
==6065== by 0x504EB5: sfprintf (sfprintf.c:48)
==6065== by 0x449C4B: nv_name (name.c:3786)
==6065== by 0x44219C: nv_create (name.c:962)
==6065== by 0x443938: nv_open (name.c:1418)
==6065== by 0x49F6BC: arith (arith.c:363)
==6065== by 0x45FDD4: expr (streval.c:900)
==6065== by 0x46024D: arith_compile (streval.c:951)
==6065== by 0x4604A9: strval (streval.c:1000)
==6065== by 0x4A02FC: sh_strnum_20120720 (arith.c:564)
==6065== by 0x48781C: extend (print.c:862)
==6065== by 0x510E26: sfvprintf (sfvprintf.c:547)
==6065== Address 0x5953430 is 64 bytes inside a block of size 66 free'd
==6065== at 0x4C29BF2: _ast_free (vg_replace_malloc.c:1001)
==6065== by 0x44322B: nv_delete (name.c:1284)
==6065== by 0x4A5312: array_putval (array.c:695)
==6065== by 0x49405F: nv_putv (nvdisc.c:152)
==6065== by 0x446701: _nv_unset (name.c:2537)
==6065== by 0x446371: table_unset (name.c:2453)
==6065== by 0x4496CD: sh_unscope (name.c:3630)
==6065== by 0x471CF6: sh_funscope_20120720 (xec.c:4071)
==6065== by 0x46FD83: sh_funct (xec.c:3371)
==6065== by 0x4698A2: sh_exec (xec.c:1556)
==6065== by 0x46BE1D: sh_exec (xec.c:2222)
==6065== by 0x40F4E1: exfile (main.c:603)
==6065==
gone 0
==6065==
[snip]
-- snip --
2nd issue is that the testcase should print "gone 1" but instead prints this:
-- snip --
$ ksh -c 'function f { x_t -a x ; (( x[4].i=1 )) ; } ; typeset -T
x_t=( integer i=0; function unset { printf "gone %d\n" _.i ; } ) ; f'
gone 1
gone 0
-- snip --
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)