From 17cc602629e60b17abac4bd9a1df7a97a0ddd834 Mon Sep 17 00:00:00 2001 From: ENGO150 Date: Thu, 2 Feb 2023 15:20:45 +0100 Subject: [PATCH] fixed possible get_node issue --- src/core/lib/utils/memory.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/lib/utils/memory.c b/src/core/lib/utils/memory.c index fd94066..9831122 100644 --- a/src/core/lib/utils/memory.c +++ b/src/core/lib/utils/memory.c @@ -83,6 +83,8 @@ node_t *get_node(void *pointer) buffer = buffer -> next; } + if (pointer != buffer -> pointer) buffer = NULL; //PREVENT FROM RETURNING INVALID NODE + return buffer; } @@ -128,10 +130,10 @@ void why2_free(void *pointer) //VARIABLES node_t *node = get_node(pointer); - if (pointer == node) + if (pointer != NULL) { remove_node(node); //REMOVE FROM LIST IF FOUND - } //TODO: ELSE happens really often + } free(pointer); } \ No newline at end of file