plantage de free après malloc
Bonjour,
Voici mon programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
int *estimationsX=0,*estimationsXY=0 [...];
[quelques initialisations]
/* initialisations */
if (Si) {
estimationsX=(int*)malloc((n+1)*sizeof(int));
estimationsXY=(int*)malloc((n+1)*(n+1)*sizeof(int));
}
[longue boucle utilisant entre autre les deux pointeurs précédents]
if (Si) {
free(estimationsX);
free(estimationsXY);
}
return; |
J'ai laissé le if car le plantage vient peut-être de là (?!)
Tout marche bien jusqu'à trois lignes avant la fin: il accepte free(estimationsX) mais plante quasi-systématiquement sur free(estimationsXY).
J'ai un autre programme avec les même instructions d'initialisations/destructions (même le if (Si) {...} y est), qui lui fonctionne très bien..
:mur: :lefou:
Merci d'avance !
Benjamin.