galapogos wrote: > I'm using gcc with -Wall -g -O0 options. > I'm building in Mandriva Linux 2008.1 using gcc 4.2.3, and using > valgrind-3.3.0-3mdv2008.1.i586.rpm > Here are the 1st few output: > > ==30486== Syscall param ioctl(SG_GET_VERSION_NUM) points to uninitialised > byte(s) > ==30486== at 0x4100299: ioctl (in /lib/i686/libc-2.7.so) > ==30486== by 0x80498A5: main (a_scsi.c:1139) > ==30486== Address 0xbe8f4f20 is on thread 1's stack
It's a bug - that ioctl is wrong marked as reading an int from the pointer instead of writing an int to it. So it is (wrongly) expecting the point you give it to point at initialised memory. > ==30486== Conditional jump or move depends on uninitialised value(s) > ==30486== at 0x804883F: a_identify_device (a_scsi.c:135) > ==30486== by 0x80498A5: main (a_scsi.c:1139) This and the other complaints then follow as the result of the ioctl has not been marked as initialised. I've just committed a fix. Tom -- Tom Hughes ([email protected]) http://www.compton.nu/ ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
