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