From 81f1c7d7ca5df22320945026fdf880e23974fdbe Mon Sep 17 00:00:00 2001 From: Mineplay Date: Fri, 23 May 2025 17:24:39 -0500 Subject: [PATCH] refactor(dynamic array): improved error handeling for allocating and freeing memory --- Src/Core/DynamicArray.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Src/Core/DynamicArray.c b/Src/Core/DynamicArray.c index 01dc88d..6692c32 100644 --- a/Src/Core/DynamicArray.c +++ b/Src/Core/DynamicArray.c @@ -62,8 +62,7 @@ FledastyError fledasty_dynamic_array_destroy(FledastyDynamicArray *current_dynam return FLEDASTY_ERROR_INVALID_POINTER; } - HallocyError result = hallocy_free(current_dynamic_array->buffer); - if (result != HALLOCY_ERROR_NONE) { + if (hallocy_free(current_dynamic_array->buffer) != HALLOCY_ERROR_NONE) { return FLEDASTY_ERROR_FAILED_ALLOCATION; } @@ -79,6 +78,10 @@ FledastyError fledasty_dynamic_array_append(FledastyDynamicArray *current_dynami if (current_dynamic_array->size == current_dynamic_array->capacity) { current_dynamic_array->capacity += current_dynamic_array->capacity; current_dynamic_array->buffer = (unsigned char*)hallocy_realloc(current_dynamic_array->buffer, current_dynamic_array->capacity * current_dynamic_array->element_byte_size); + + if (current_dynamic_array->buffer == NULL) { + return FLEDASTY_ERROR_FAILED_ALLOCATION; + } } hallocy_copy_memory(current_dynamic_array->buffer + (current_dynamic_array->size * current_dynamic_array->element_byte_size), value, current_dynamic_array->element_byte_size);