Hi!

----

Below is a valgrind hit which likely indicate serious bugs. I don't
have time to go into the details now so I'm shoving this as-is on the
list.

Steps to reproduce
-- snip --
1. Build ksh93 with some hacks to make life easier for "valgrind":
$ (CCFLAGS='-g' CC='gcc -std=gnu99 -D_AST_std_malloc=1 -DSHOPT_SYSRC
-D_map_libc=1 -g' ./bin/package ^Cke) 2>&1 | tee -a buildlog.log
2. Run valgrind:
$ (SHELL=$PWD/arch/linux.i386-64/bin/ksh ; LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8 VMALLOC_OPTIONS="abort" valgrind --track-origins=yes
--read-var-info=yes $SHELL src/cmd/ksh93/tests/arrays2.sh)
-- snip --

Running the "arrays2.sh" test gives me this hit:
-- snip --
==7471== Warning: invalid file descriptor 32767 in syscall close()
==7471== Conditional jump or move depends on uninitialised value(s)
==7471==    at 0x415569: array_getup (array.c:238)
==7471==    by 0x416B78: array_putval (array.c:694)
==7471==    by 0x4091D6: nv_putv (nvdisc.c:151)
==7471==    by 0x4477C8: nv_putval (name.c:1603)
==7471==    by 0x41A2C7: nv_setvec (array.c:1839)
==7471==    by 0x443AF2: nv_setlist (name.c:451)
==7471==    by 0x443DA2: nv_setlist (name.c:498)
==7471==    by 0x468188: sh_exec (xec.c:1184)
==7471==    by 0x46B95A: sh_exec (xec.c:2181)
==7471==    by 0x44428D: nv_setlist (name.c:568)
==7471==    by 0x468188: sh_exec (xec.c:1184)
==7471==    by 0x466032: sh_eval (xec.c:592)
==7471==  Uninitialised value was created by a stack allocation
==7471==    at 0x4153CB: array_getup (array.c:196)
-- snip --
This is the |nofree| variable in function |array_getup()| which
remains uninitalised and may have a random value.

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) [email protected]
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)

_______________________________________________
ast-developers mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to