Bug étrange en C avec des pointeurs sous Linux

Python, JavaScript, C, PHP, algorithmes, IDE
seb.r
Messages : 18
Inscription : sam. mars 28, 2026 7:25 pm

Bug étrange en C avec des pointeurs sous Linux

Message par seb.r »

Help ! Mon programme segfault aléatoirement quand je free un double pointeur. Sous Windows ça marche, sous Ubuntu ça plante. Code : 'int** tab = malloc(100*sizeof(int*));' puis plus tard free(tab)...
le_zed38
Messages : 74
Inscription : lun. août 18, 2025 7:24 pm

Re: Bug étrange en C avec des pointeurs sous Linux

Message par le_zed38 »

Tu initialises bien tous les int* après le premier malloc ? Linux est moins tolérant que Windows sur l'accès à de la mémoire non initialisée.
seb.r
Messages : 18
Inscription : sam. mars 28, 2026 7:25 pm

Re: Bug étrange en C avec des pointeurs sous Linux

Message par seb.r »

Non justement, j'alloue que les sous-tableaux dont j'ai besoin. C'est ça le problème ?
david.l
Messages : 137
Inscription : jeu. juil. 06, 2023 7:24 pm

Re: Bug étrange en C avec des pointeurs sous Linux

Message par david.l »

Exact ! Quand tu free, glibc vérifie plus de choses sous Linux. Soit tu initialises tout à NULL, soit utilise calloc au lieu de malloc pour le tableau principal.
seb.r
Messages : 18
Inscription : sam. mars 28, 2026 7:25 pm

Re: Bug étrange en C avec des pointeurs sous Linux

Message par seb.r »

Le calloc a réglé le problème ! Merci beaucoup. Je me coucherai moins bête ce soir.
flo_net
Messages : 64
Inscription : mar. sept. 09, 2025 7:24 pm

Re: Bug étrange en C avec des pointeurs sous Linux

Message par flo_net »

Petit + : valgrind est ton ami pour ce genre de soucis. Ça t'aurait direct pointé l'erreur.
Sauvegardez, bon sang
Répondre