我收到很多valgrind的錯誤,說「條件跳轉或移動取決於未初始化的值」。Valgrind「條件跳轉或移動取決於未初始化的值」錯誤
下面是其中一個塊。它們都是類似的:
vasm_sourceline_info_t* line = asmState->firstLine;
if (line == NULL) return;
while ((line = line->next) != NULL)
{
printf ("[%s(%i)] %s\n", line->fileName, line->lineNumber, line->data);
}
錯誤本身在while()行。 vasm_sourceline_info
是一個雙向鏈表結構。代碼〜工作〜但這個錯誤令人擔憂。代碼中是否存在其他內容,或者上述函數在某種程度上存在缺陷?
是否都是初始化的下一個指針? – CodesInChaos 2010-11-06 16:14:57
你知道你會認爲這將是我會看到的第一件事...不,雖然我在照顧添加/刪除/附加邏輯,初始化函數並沒有設置next/prev爲NULL ...問題解決。謝謝! – 2010-11-06 16:18:26
它有時候會在有效的代碼中發生。 – 2010-11-06 16:25:50