diff --git a/src/grille.c b/src/grille.c
index 298d2e400892d2d5805369e94047f34ba0d35cf4..a8b95c582a52379805fbb2db74393eee742bcfda 100644
--- a/src/grille.c
+++ b/src/grille.c
@@ -36,6 +36,7 @@ void copie_grille(grille gs, grille gd)
 
 void alloue_grille(int l, int c, grille *g)
 {
+	g = malloc(sizeof(grille));
 	g->cellules = malloc(l * sizeof(int *));
 	for (int i = 0; i < l; i++)
 	{
@@ -52,4 +53,5 @@ void libere_grille(grille *g)
 	for (int i = 0; i < g->nbl; i++)
 		free(g->cellules[i]);
 	free(g->cellules);
+	free(g);
 };