diff --git a/main.c b/main.c
index 4a851d847d77e222239f99ed0c2383c55bdd88a2..3b6aa0d5e4c87a6bf2afead5a56ca2b4684a9645 100644
--- a/main.c
+++ b/main.c
@@ -17,7 +17,7 @@ int main(void)
     printf("----- IV. Restaurez la gloire matricielle de P -----\n\n");
 
     printf("-- Q1 --\n\n");
-    printf("Message : %s\n\tMessage encodé avec la matrice : %s\n\tMessage encodé avec le polynôme : %s\n\t%s\n\n", msg, encode(msg), polynomial_encode(msg), strcmp(encode(msg), polynomial_encode(msg)) == 0 ? "Bon résultat" : "Mauvais résultat");
+    printf("Message : %s\n\tMessage encodé avec la matrice : %s\nMessage encodé avec le polynôme : %s\n%s\n\n", msg, encode(msg), polynomial_encode(msg), strcmp(encode(msg), polynomial_encode(msg)) == 0 ? "Bon résultat" : "Mauvais résultat");
     printf("Message encodé (sans erreur) : %s\nSyndrome : %s\n\n", polynomial_encode(msg), polynomial_decode(polynomial_encode(msg))); // Le syndrome doit être 0000
     printf("Message encodé (avec une erreur) : %s\nSyndrome : %s\n\n", set_error(polynomial_encode(msg), 0), polynomial_decode(set_error(polynomial_encode(msg), 0)));  // Le syndrome doit être 1000
 
@@ -26,11 +26,12 @@ int main(void)
 
     printf("-- Q3 --\n\n");
     char* codeword = polynomial_encode(msg);
+    char* false_codeword;
     printf("Codeword : %s\n", codeword);
     for(int i = 0; i < 8; i++)
     {
-        char* false_codeword = set_error(codeword, i);
-        printf("Erreur à la position %d : %s\t\tC mod P : %s\n", i, false_codeword, polynomial_decode(false_codeword));
+        false_codeword = set_error(codeword, i);
+        printf("Erreur à la position %d : %s\tC mod P : %s\n", i, false_codeword, polynomial_decode(false_codeword));
     }
     printf("\n");
 
@@ -38,8 +39,8 @@ int main(void)
     printf("\nCodeword : %s\n", codeword);
     for (int i = 0; i < 8; i++)
     {
-        char *false_codeword = set_error(codeword, i);
-        printf("Erreur à la position %d : %s\t\tC mod P : %s\n", i, false_codeword, polynomial_decode(false_codeword));
+        false_codeword = set_error(codeword, i);
+        printf("Erreur à la position %d : %s\tC mod P : %s\n", i, false_codeword, polynomial_decode(false_codeword));
     }
     printf("\n");
 
@@ -47,8 +48,10 @@ int main(void)
     printf("\nCodeword : %s\n", codeword);
     for (int i = 0; i < 8; i++)
     {
-        char *false_codeword = set_error(codeword, i);
-        printf("Erreur à la position %d : %s\t\tC mod P: %s\n", i, false_codeword, polynomial_decode(false_codeword));
+        false_codeword = set_error(codeword, i);
+        printf("Erreur à la position %d : %s\tC mod P: %s\n", i, false_codeword, polynomial_decode(false_codeword));
     }
     printf("\n\n");
+
+    free(false_codeword);
 }
\ No newline at end of file