From: Ivan S. <isj...@i1...> - 2005-12-26 15:49:36
|
On Monday 26 December 2005 13:40, Yu Neil wrote: > valgrind output: > > --------------------------------------------------------------------- > ==17527== Conditional jump or move depends on uninitialised value(s) > ==17527== at 0x8074E6D: vfprintf (in /code_changed/core/ya) > ==17527== by 0x805CC92: vsprintf (in /code_changed/core/ya) > ==17527== by 0x805C98C: sprintf (in /code_changed/core/ya) > ==17527== by 0x805961F: found_the_pri (proce_exist.c:1677) > ==17527== by 0x805972A: check_is_pri_expandable (proce_exist.c:1720) > ==17527== by 0x8057C09: expand_sub (proce_exist.c:757) > ==17527== by 0x8056ED1: logic_expand (proce_exist.c:302) > ==17527== by 0x8056C2E: first_check (proce_exist.c:196) > ==17527== by 0x80567E8: proce_exist (proce_exist.c:45) > ==17527== by 0x804E183: execute (execute.c:9) > ==17527== by 0x8048C06: main (intact.c:230) > ---------------------------------------------------------------------- > > It mentioned "jump" , but i don't know which is the exactly jump ? for it > all traced my function call. vfprintf() may have a conditional jump testing if eg. a supplied parameter is negative. If the supplied parameter came from uninitialized memory Valgrind will complain. Eg: int x; //uninitialized sprintf(...,"...%d...", x); will make Valgrind complain inside sprintf (vfprintf in your case) Look at your code in found_the_pri (proce_exist.c:1677) and verify that all parameters have defined values. One of them does dosen't. |