Problème de fuite mémoire en C avec des structures imbriquées

Python, JavaScript, C, PHP, algorithmes, IDE
antoine06
Messages : 239
Inscription : sam. août 12, 2023 7:24 pm

Problème de fuite mémoire en C avec des structures imbriquées

Message par antoine06 »

A l'aide ! Mon programme C (qui gère une liste chaînée de structures complexes) bouffe 1Go de RAM en 10min. Valgrind montre des allocs non libérées mais je vois pas où... Des experts en debug mémoire ?
Ex-Windows, jamais regrette le switch
guillaume92
Messages : 14
Inscription : lun. sept. 15, 2025 7:25 pm

Re: Problème de fuite mémoire en C avec des structures imbriquées

Message par guillaume92 »

Poste un bout de code surtout comment tu free tes nodes. Classique : oublier de free() les pointeurs dans la structure avant de free() la structure elle-même.
Dev le jour, gamer la nuit
nicolas_oc
Messages : 9
Inscription : mar. mai 12, 2026 7:24 pm

Re: Problème de fuite mémoire en C avec des structures imbriquées

Message par nicolas_oc »

J'ai eu le même problème avec des unions. Astuce : utilise -fsanitize=address à la compilation, ça t'affichera les fuites exactes en runtime. Bien plus parlant que Valgrind parfois !
Sauvegardez, bon sang
antoine06
Messages : 239
Inscription : sam. août 12, 2023 7:24 pm

Re: Problème de fuite mémoire en C avec des structures imbriquées

Message par antoine06 »

Merci ! @74 le sanitizer m'a montré que je freeais pas les char* dans mon struct { char* name; int id; struct* next; }. Mais bizarrement, même après correction, j'ai encore des leaks...
Ex-Windows, jamais regrette le switch
webmaster59
Messages : 118
Inscription : dim. sept. 24, 2023 7:24 pm

Re: Problème de fuite mémoire en C avec des structures imbriquées

Message par webmaster59 »

Tu utilises bien memset(0) avant free ? Certaines allocs peuvent avoir des padding bytes non initialisés. Et vérifie tes calloc() vs malloc(), j'ai déjà vu des bugs subtils là-dessus.
guillaume92
Messages : 14
Inscription : lun. sept. 15, 2025 7:25 pm

Re: Problème de fuite mémoire en C avec des structures imbriquées

Message par guillaume92 »

Autre piste : les fuites peuvent venir des bibliothèques externes. T'as quoi comme dépendances ? Certaines vieilles versions de libxml2 sont catastrophiques pour ça...
Dev le jour, gamer la nuit
antoine06
Messages : 239
Inscription : sam. août 12, 2023 7:24 pm

Re: Problème de fuite mémoire en C avec des structures imbriquées

Message par antoine06 »

PUT*** DE*** DE*** ! Je viens de trouver : j'avais un free() dans une macro conditionnelle qui ne s'exécutait jamais. 6h de ma vie perdues pour un #ifdef oublié... Merci à tous !
Ex-Windows, jamais regrette le switch
Répondre