Bonjour, j'ai un pb et je ne vois pas ou

je calloc une matrice :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
	double **mat = (double**)calloc(20, sizeof(double*));
 
	for (i = 0; i < 20; i++){
 
		mat[i] = (double*)calloc(3, sizeof(double));
 
	}
en cours de programme je la realloc :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mat = (double**)realloc(mat, 10*sizeof(double*));
j'ai aussi essayé de la realloc comme ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
for (i = 10; i < 20; i++){
free(mat[i]);
}
mat = (double**)realloc(mat, 10*sizeof(double*));
puis en fin de programme je la free :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
for (i = 0; i < 10; i++){
 
		free(mat[i]);
 
	}
 
	free(mat);
Le probleme c'est qu'un coup l'execution se passe bien et de temps en temps ca plante, si je commente le free ca passe tout le temps
Le free m'a l'air bien, je pense que je realloc mal, mais je ne vois pas l'erreur
please help me