diff --git a/TinySTL/Alloc.h b/TinySTL/Alloc.h index 2a4a43c..9da069c 100644 --- a/TinySTL/Alloc.h +++ b/TinySTL/Alloc.h @@ -71,11 +71,12 @@ namespace TinySTL{ void alloc::deallocate(void *ptr, size_t bytes){ if (bytes > EMaxBytes::MAXBYTES){ free(ptr); + }else{ + size_t index = FREELIST_INDEX(bytes); + obj *node = static_cast(ptr); + node->next = free_list[index]; + free_list[index] = node; } - size_t index = FREELIST_INDEX(bytes); - obj *node = static_cast(ptr); - node->next = free_list[index]; - free_list[index] = node; } void *alloc::reallocate(void *ptr, size_t old_sz, size_t new_sz){ deallocate(ptr, old_sz);