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);