On Sun, Jan 31, 2010 at 02:38:55PM -0800, Bruce Korb wrote:
> 
> That value is obtained from ao_string_tokenize( pczOptStr );
> Memory management structures have become corrupt.
> In chasing this a bit, I did discover a bug I introduced:
> This assert became obsolete in longOptionFind():
[...]
> If this fixes the problem, I'll be a happy camper and not chase it any more.  
> :)

That doesn't change anything.

Running this in valgrind shows this:

==6465== Memcheck, a memory error detector
==6465== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==6465== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright 
info
==6465== Command: ../rc -t xxx MUMBLE
==6465== 
==6465== Invalid write of size 1
==6465==    at 0x4048E8: ao_string_tokenize (tokenize.c:278)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B680: optionProcess (autoopts.c:907)
==6465==    by 0x401DA2: main (rc.c:299)
==6465==  Address 0x5f97069 is 0 bytes after a block of size 41 alloc'd
==6465==    at 0x4C221A7: malloc (vg_replace_malloc.c:195)
==6465==    by 0x4047B8: ao_malloc (autoopts.c:61)
==6465==    by 0x40487C: ao_string_tokenize (tokenize.c:220)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B680: optionProcess (autoopts.c:907)
==6465==    by 0x401DA2: main (rc.c:299)
==6465== 
==6465== Invalid read of size 1
==6465==    at 0x4C22ED4: index (mc_replace_strmem.c:141)
==6465==    by 0x4038CA: longOptionFind (autoopts.c:266)
==6465==    by 0x4040FC: nextOption (autoopts.c:573)
==6465==    by 0x404384: doImmediateOpts (autoopts.c:814)
==6465==    by 0x40A5F7: doEnvPresets (environment.c:90)
==6465==    by 0x40B680: optionProcess (autoopts.c:907)
==6465==    by 0x401DA2: main (rc.c:299)
==6465==  Address 0x5f97069 is 0 bytes after a block of size 41 alloc'd
==6465==    at 0x4C221A7: malloc (vg_replace_malloc.c:195)
==6465==    by 0x4047B8: ao_malloc (autoopts.c:61)
==6465==    by 0x40487C: ao_string_tokenize (tokenize.c:220)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B680: optionProcess (autoopts.c:907)
==6465==    by 0x401DA2: main (rc.c:299)
==6465== 
==6465== Invalid read of size 1
==6465==    at 0x4C23234: strlen (mc_replace_strmem.c:275)
==6465==    by 0x4038F6: longOptionFind (autoopts.c:288)
==6465==    by 0x4040FC: nextOption (autoopts.c:573)
==6465==    by 0x404384: doImmediateOpts (autoopts.c:814)
==6465==    by 0x40A5F7: doEnvPresets (environment.c:90)
==6465==    by 0x40B680: optionProcess (autoopts.c:907)
==6465==    by 0x401DA2: main (rc.c:299)
==6465==  Address 0x5f97069 is 0 bytes after a block of size 41 alloc'd
==6465==    at 0x4C221A7: malloc (vg_replace_malloc.c:195)
==6465==    by 0x4047B8: ao_malloc (autoopts.c:61)
==6465==    by 0x40487C: ao_string_tokenize (tokenize.c:220)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B680: optionProcess (autoopts.c:907)
==6465==    by 0x401DA2: main (rc.c:299)
==6465== 
==6465== Invalid write of size 1
==6465==    at 0x4048E8: ao_string_tokenize (tokenize.c:278)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B69C: optionProcess (autoopts.c:919)
==6465==    by 0x401DA2: main (rc.c:299)
==6465==  Address 0x5f970d9 is 0 bytes after a block of size 41 alloc'd
==6465==    at 0x4C221A7: malloc (vg_replace_malloc.c:195)
==6465==    by 0x4047B8: ao_malloc (autoopts.c:61)
==6465==    by 0x40487C: ao_string_tokenize (tokenize.c:220)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B69C: optionProcess (autoopts.c:919)
==6465==    by 0x401DA2: main (rc.c:299)
==6465== 
==6465== Invalid read of size 1
==6465==    at 0x4C22ED4: index (mc_replace_strmem.c:141)
==6465==    by 0x4038CA: longOptionFind (autoopts.c:266)
==6465==    by 0x4040FC: nextOption (autoopts.c:573)
==6465==    by 0x404435: doRegularOpts (autoopts.c:847)
==6465==    by 0x40A498: doEnvPresets (environment.c:100)
==6465==    by 0x40B69C: optionProcess (autoopts.c:919)
==6465==    by 0x401DA2: main (rc.c:299)
==6465==  Address 0x5f970d9 is 0 bytes after a block of size 41 alloc'd
==6465==    at 0x4C221A7: malloc (vg_replace_malloc.c:195)
==6465==    by 0x4047B8: ao_malloc (autoopts.c:61)
==6465==    by 0x40487C: ao_string_tokenize (tokenize.c:220)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B69C: optionProcess (autoopts.c:919)
==6465==    by 0x401DA2: main (rc.c:299)
==6465== 
==6465== Invalid read of size 1
==6465==    at 0x4C23234: strlen (mc_replace_strmem.c:275)
==6465==    by 0x4038F6: longOptionFind (autoopts.c:288)
==6465==    by 0x4040FC: nextOption (autoopts.c:573)
==6465==    by 0x404435: doRegularOpts (autoopts.c:847)
==6465==    by 0x40A498: doEnvPresets (environment.c:100)
==6465==    by 0x40B69C: optionProcess (autoopts.c:919)
==6465==    by 0x401DA2: main (rc.c:299)
==6465==  Address 0x5f970d9 is 0 bytes after a block of size 41 alloc'd
==6465==    at 0x4C221A7: malloc (vg_replace_malloc.c:195)
==6465==    by 0x4047B8: ao_malloc (autoopts.c:61)
==6465==    by 0x40487C: ao_string_tokenize (tokenize.c:220)
==6465==    by 0x40A435: doEnvPresets (environment.c:64)
==6465==    by 0x40B69C: optionProcess (autoopts.c:919)
==6465==    by 0x401DA2: main (rc.c:299)
==6465== 
==6465== 
==6465== HEAP SUMMARY:
==6465==     in use at exit: 0 bytes in 0 blocks
==6465==   total heap usage: 2 allocs, 2 frees, 82 bytes allocated
==6465== 
==6465== All heap blocks were freed -- no leaks are possible
==6465== 
==6465== For counts of detected and suppressed errors, rerun with: -v
==6465== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 4 from 4)



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to