Valgrind “saut Conditionnel ou déplacer dépend non initialisée valeur(s)” Erreur
Je reçois beaucoup d'erreurs avec valgrind disant "saut Conditionnel ou déplacer dépend de la valeur non initialisée(s)".
Ci-dessous est l'un des blocs. Tous d'entre eux 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 le while() de la ligne. vasm_sourceline_info
est une liste doublement liée à la structure. Le code ~œuvres~ mais cette erreur est inquiétant. Est-il autre chose dans le code de buter sur la mémoire, ou est la fonction ci-dessus imparfait, d'une certaine façon?
sont tous les pointeurs suivants initialisé?
Vous savez que vous pense que ce serait la PREMIÈRE chose que je regarde... Non, même si je prends soin dans l'ajout/suppression/ajout de la logique, de la fonction d'initialisation n'a PAS défini suivant/précédent à NULL... le Problème est résolu. Merci!
il se passe ou moi aussi en cours de validité, code parfois.
valgrind.org/docs/manual/mc-manual.html#mc-manual.uninitvals
Vous savez que vous pense que ce serait la PREMIÈRE chose que je regarde... Non, même si je prends soin dans l'ajout/suppression/ajout de la logique, de la fonction d'initialisation n'a PAS défini suivant/précédent à NULL... le Problème est résolu. Merci!
il se passe ou moi aussi en cours de validité, code parfois.
valgrind.org/docs/manual/mc-manual.html#mc-manual.uninitvals
OriginalL'auteur Tim Sarbin | 2010-11-06
Vous devez vous connecter pour publier un commentaire.
Compiler avec les optimisations OFF (
-O0
). Run valgrind avec--track-origins=yes
pour déterminer la source des erreurs. Voir ici pour plus d'.OriginalL'auteur Matt Joiner
Il n'y a rien de mal avec le code en soi, mais si l'une des lignes
next
champ n'a pas été initialisé (probablement la dernière de la lignenext
champ), qui expliquerait le message.OriginalL'auteur sepp2k