G2 and valgrind

Derek Atkins warlord at MIT.EDU
Sun Feb 19 20:41:42 EST 2006


Chris Shoemaker <c.shoemaker at cox.net> writes:

> Been there, done that.  The problem with using valgrind suppressions
> for this is that you'd need a supression for every codepath that jumps
> on a guid read, like every instance of a ghashtable that uses guid
> keys and every place we store a guid and later compare with it.  
>
> I think it's better just to use the valid portion of the dirent.
> Something like:
>
> md5_process_bytes(de, strlen(de->d_name), &guid_context);
> total += strlen(de->d_name);

I still can't believe that there's no way to tell valgrind
"this memory object is initialized, even if it may be 'tained'
by uninitialized memory"..   That would seem to be a core
suppression method, the "I know this data object is clean".

It's sounding like valgrind is making (in this case incorrect)
assumptions that if you process uninitialzed data and then use
the result of that processing, the result is 'tainted'.  In
random number generation, that's a false assumption..

On the other hand, we DO initialize from /dev/urandom....  So the lack
of extra entropy might not be a huge problem.
*grumps*

> -chris

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list