From: Steve F. <sf...@re...> - 2008-08-20 21:46:26
|
Kevin Neel wrote: >> Conditional jump or move depends on uninitialised value(s) >> ==28593== at 0x43820E5: vfprintf (in /lib/libc-2.6.1.so) >> ==28593== by 0x439E91B: vsprintf (in /lib/libc-2.6.1.so) >> ==28593== by 0x438A42D: sprintf (in /lib/libc-2.6.1.so) >> ==28593== by 0x806D42E: card_manager::packSerial(int, int, int, int, int) >> (card_manager.cpp:431) >> ==28593== by 0x807396B: card_manager::gen_keys(int, int, int, int, >> std::string) (card_manager.cpp:280) >> ==28593== by 0x8076BE2: command_interpreter::interpret(iso8583_frame >> const&) (command_interpreter.cpp:126) Staring at that stack trace, I wonder if it would be possible to have it include the initialization status of the arguments. Something like: ==28593== by 0x806D42E: card_manager::packSerial(int, UNINITIALIZED int, int, UNINITIALIZED int, int) (card_manager.cpp:431) I know it doesn't help in all cases -- some of those arguments might not be used, so the 'UNINITIALIZED' tag might lead you astray. And perhaps much of the time the uninitialized data is reached through a pointer argument, which would itself be initialized and so not get flagged, but I still wonder if this might be helpful in a fair percentage of cases. This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited. |