Conditional jump or move depends on uninitialised value(s). Est-ce grave ?
Bonsoir,
Je malloc un char* dans une fonction puis je le remplit dans une autre fonction, ducoup, valgrind me bombarde de
Citation:
Conditional jump or move depends on uninitialised value(s)
Ma question est : est-ce que c'est grave et surtout est-ce qu'il y a un risque de faire planter le programme ?
PS : Je free absolument tout je n'ai aucune fuite de mémoire
2 pièce(s) jointe(s)
inconditional jump or move depends on uninitialised value(s)
Bonsoir à vous je sais que je suis un petit peu en retard mais je pense pouvoir apporter une réponse à ton probleme car moi aussi j'avais exactement le même problème, je vais te montrer une capture d'écran de mon érreur et une autre de ma corréction ainsi tu pourras voir le probleme.
mon but était de parcourir et de copier les contenus de ma chaine str dans mon tab (qui est un double pointeur) tant que je n'aurais pas rencontrer de séparateur (les separateur present dans str etait contenu dans la chaine charset). lorsque je rencontrais un séparateur, je descendais de une ligne dans mon tab et je copiais ainsi la suite de mon str.
donc voici le probleme que j'avais au depart :
(tu peut commencer à lire à partir de la ligne 24)
Pièce jointe 592236
si tu observe mon code tu remarqueras que à la ligne 46 de l'image si dessous j'ai rajouter quelque chose.
Pièce jointe 592240
enfaite le probleme se trouvais dans l'initalisation de la derniere case de mon double tableau tab, car lorsque j'avais fini de parcourir str, j'arretais aussi de copier vers tab et je quittais aussitôt la boucle sans avoir mis un '\0' a la derniere case de mon tab, donc si tu à le meme message relis bien ton code pour verifier que tu n'a pas oublier d'initialiser.