From 990309dec59ec56f1209b5a91f3d9ddecf094a78 Mon Sep 17 00:00:00 2001 From: mszczepa <marin.szczepanski@inria.fr> Date: Wed, 18 May 2022 14:55:34 +0200 Subject: [PATCH] =?UTF-8?q?Enfin=20une=20bonne=20gestion=20de=20la=20m?= =?UTF-8?q?=C3=A9moire=20!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- levels/interrupteurs/main.c | 1 + levels/interrupteurs/read_input.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/levels/interrupteurs/main.c b/levels/interrupteurs/main.c index 3598d7ec..8451f861 100644 --- a/levels/interrupteurs/main.c +++ b/levels/interrupteurs/main.c @@ -104,6 +104,7 @@ int main() { } free_commands(&inputs); + unload_map(); return 0; } diff --git a/levels/interrupteurs/read_input.c b/levels/interrupteurs/read_input.c index 6aa2d7e6..a28df349 100644 --- a/levels/interrupteurs/read_input.c +++ b/levels/interrupteurs/read_input.c @@ -19,6 +19,8 @@ int read_input_file(const char* filename, CommandList* commands) { Command* next = allocate_command(line, linesize); prev_command->next = next; prev_command = next; + } else { + free(line); } line = NULL; } @@ -66,12 +68,14 @@ Command* allocate_command(char* command_buffer, size_t buffer_len) { void free_command(Command* command) { // Free next commands - if (command->next != NULL) + if (command->next != NULL) { free_command(command->next); + } // Free current command free(command->command_buffer); // Free the buffer allocated by getline if (command->args != NULL) free(command->args); + free(command); } void free_commands(CommandList* commands) { -- GitLab