From 94459f99a7a4303e8da62d4e5fccde09325b74e0 Mon Sep 17 00:00:00 2001
From: Florian Burgener <florian.burgener@etu.hesge.ch>
Date: Tue, 18 Jan 2022 15:23:31 +0100
Subject: [PATCH] Fix memory leak

---
 hashmap.c | 4 +++-
 main.c    | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/hashmap.c b/hashmap.c
index 11a8ca8..e72342e 100644
--- a/hashmap.c
+++ b/hashmap.c
@@ -140,7 +140,9 @@ char *hm_rm(hm_t *hm, const char *const key) {
         entry_before->next = entry_before->next->next;
     }
 
-    char *value = entry->value;
+    char *value = strdup(entry->value);
+    free(entry->key);
+    free(entry->value);
     free(entry);
     return value;
 }
diff --git a/main.c b/main.c
index a9d3093..13c3b34 100644
--- a/main.c
+++ b/main.c
@@ -47,7 +47,8 @@ int main() {
             scanf("%s", key);
             clear_buffer();
 
-            hm_rm(hm, key);
+            char *c = hm_rm(hm, key);
+            free(c);
         } else if (action == 4) {
             printf("Phone Number: ");
             scanf("%s", key);
-- 
GitLab