Je reçois beaucoup d'erreurs avec valgrind disant "Le saut ou le déplacement conditionnel dépend de la (des) valeur (s) non initialisée (s)".Valgrind "Le saut ou le déplacement conditionnel dépend de la (des) valeur (s) non initialisée (s)" Erreur
Ci-dessous est l'un des blocs. Tous sont similaires:
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);
}
L'erreur elle-même est sur la ligne while(). vasm_sourceline_info
est une structure de liste doublement liée. Le code ~ fonctionne ~ mais cette erreur est inquiétante. Y a-t-il quelque chose d'autre dans le code qui piétine la mémoire, ou est-ce que la fonction ci-dessus est défectueuse d'une façon ou d'une autre?
Tous les pointeurs suivants sont-ils initialisés? – CodesInChaos
Vous savez que vous penseriez que ce serait la première chose que je regarderais ... Non, bien que je prenne soin de la logique add/remove/append, la fonction d'initialisation n'a pas mis next/prev à NULL ... Problème résolu . Merci! –
ça arrive ou moi aussi en code valide parfois. –