Hi!

----

I found a couple of valgrind hits when running the "glob.sh" test from
ast-ksh.2012-05-04 (I don't have time to digging so I dump it here so
it doesn't get lost):

Steps to reproduce:
1. Build ksh93:
$ (CCFLAGS='-g' CC='gcc -std=gnu99 -gdwarf-3 -D_AST_std_malloc=1
-DSHOPT_SYSRC -D_map_libc=1 -g' ./bin/package make) 2>&1 | tee -a
buildlog.log

2. Run valgrind (_NOTE_: This needs the "en_US.UTF-8" locale to
replicate some of the hits):
$ (export LD_LIBRARY_PATH=$PWD/arch/linux.i386/lib
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/glob.sh)

valgrind hits are:
-- snip --
==4009== Invalid read of size 1
==4009==    at 0x44766F: memmove (name.c:1566)
==4009==    by 0x448776: nv_putval (name.c:1959)
==4009==    by 0x4091FC: nv_putv (nvdisc.c:156)
==4009==    by 0x422EE2: put_lang (init.c:451)
==4009==    by 0x4091D6: nv_putv (nvdisc.c:151)
==4009==    by 0x4477C8: nv_putval (name.c:1603)
==4009==    by 0x4497D9: table_unset (name.c:2423)
==4009==    by 0x44C5A8: sh_unscope (name.c:3507)
==4009==    by 0x4716A4: sh_ntfork (xec.c:4009)
==4009==    by 0x469F38: sh_exec (xec.c:1667)
==4009==    by 0x462533: sh_subshell (subshell.c:583)
==4009==    by 0x440F71: comsubst (macro.c:2126)
==4009==  Address 0x566cb3a is 10 bytes inside a block of size 19 free'd
==4009==    at 0x4C298B2: realloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==4009==    by 0x504547: _ast_realloc (malloc.c:1041)
==4009==    by 0x4486C5: nv_putval (name.c:1942)
==4009==    by 0x4091FC: nv_putv (nvdisc.c:156)
==4009==    by 0x422EE2: put_lang (init.c:451)
==4009==    by 0x4091D6: nv_putv (nvdisc.c:151)
==4009==    by 0x4477C8: nv_putval (name.c:1603)
==4009==    by 0x4497D9: table_unset (name.c:2423)
==4009==    by 0x44C5A8: sh_unscope (name.c:3507)
==4009==    by 0x4716A4: sh_ntfork (xec.c:4009)
==4009==    by 0x469F38: sh_exec (xec.c:1667)
==4009==    by 0x462533: sh_subshell (subshell.c:583)
==4009==
==4009== Conditional jump or move depends on uninitialised value(s)
==4009==    at 0x4C2A0C9: __GI_strlen (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==4009==    by 0x53164CA: strxfrm_l (in /lib64/libc-2.14.1.so)
==4009==    by 0x4CC54B: col (regcomp.c:1092)
==4009==    by 0x4CDE05: bra (regcomp.c:1539)
==4009==    by 0x4D1A8A: seq (regcomp.c:2794)
==4009==    by 0x4D2208: con (regcomp.c:2872)
==4009==    by 0x4D2353: alt (regcomp.c:2898)
==4009==    by 0x4D38CC: _ast_regcomp (regcomp.c:3330)
==4009==    by 0x4D4B75: _ast_regcache (regcache.c:183)
==4009==    by 0x495E0F: _ast_strgrpmatch (strmatch.c:124)
==4009==    by 0x495F8B: _ast_strmatch (strmatch.c:154)
==4009==    by 0x46CE1C: sh_exec (xec.c:2539)
==4009==  Uninitialised value was created by a stack allocation
==4009==    at 0x4CC95F: bra (regcomp.c:1171)
==4009==
==4009== Use of uninitialised value of size 8
==4009==    at 0x53165ED: strxfrm_l (in /lib64/libc-2.14.1.so)
==4009==    by 0x4CC54B: col (regcomp.c:1092)
==4009==    by 0x4CDE05: bra (regcomp.c:1539)
==4009==    by 0x4D1A8A: seq (regcomp.c:2794)
==4009==    by 0x4D2208: con (regcomp.c:2872)
==4009==    by 0x4D2353: alt (regcomp.c:2898)
==4009==    by 0x4D38CC: _ast_regcomp (regcomp.c:3330)
==4009==    by 0x4D4B75: _ast_regcache (regcache.c:183)
==4009==    by 0x495E0F: _ast_strgrpmatch (strmatch.c:124)
==4009==    by 0x495F8B: _ast_strmatch (strmatch.c:154)
==4009==    by 0x46CE1C: sh_exec (xec.c:2539)
==4009==    by 0x466032: sh_eval (xec.c:592)
==4009==  Uninitialised value was created by a stack allocation
==4009==    at 0x4CC95F: bra (regcomp.c:1171)
-- snip --
(I wish valgrind would be more precise and say which variable in
regcomp.c:1171 is uninitalised... may require a bit more digging...
;-( )

----

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