From ac88c6f880dbdaa55485f1e22fedf75b0f098c3a Mon Sep 17 00:00:00 2001 From: Jure Krasovec Date: Sun, 8 Jan 2023 14:18:50 +0100 Subject: [PATCH 1/2] fixed memory leak, added memset, removed comment --- lists.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lists.c b/lists.c index 5fa5bb0..0245d6e 100644 --- a/lists.c +++ b/lists.c @@ -21,14 +21,15 @@ Node *addNode(int data) if (new == NULL) return NULL; + memset(new, 0x00, sizeof(Node)); new->data = data; head = new; - new->next = NULL; } else { new = malloc(sizeof(Node)); if (new == NULL) return NULL; + memset(new, 0x00, sizeof(Node)); new->data = data; new->next = head; head = new; @@ -49,6 +50,7 @@ int removeNode(int data) // if current node is the list head if (current == head) { + free(head); head = current->next; } else { prev->next = current->next; @@ -147,7 +149,6 @@ int main(int argc, char **argv) break; case 3: // insert operation - // remove operation printf("What data should I insert?:\n"); scanf("%d", &arg1); printf("What position?:\n"); From ef30e3285d676fc320804a8b42764872fd0d295f Mon Sep 17 00:00:00 2001 From: Jure Krasovec Date: Sun, 8 Jan 2023 21:32:40 +0100 Subject: [PATCH 2/2] updates based on comments --- lists.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lists.c b/lists.c index 0245d6e..f6c2b56 100644 --- a/lists.c +++ b/lists.c @@ -50,8 +50,8 @@ int removeNode(int data) // if current node is the list head if (current == head) { - free(head); head = current->next; + free(current); } else { prev->next = current->next; free(current);