diff --git a/Kernel/Heap/kmalloc.cpp b/Kernel/Heap/kmalloc.cpp index 6b9f9cdc6b..bee099cc53 100644 --- a/Kernel/Heap/kmalloc.cpp +++ b/Kernel/Heap/kmalloc.cpp @@ -270,6 +270,12 @@ void* kmalloc(size_t size) return ptr; } +void kfree_sized(void* ptr, size_t size) +{ + (void)size; + return kfree(ptr); +} + void kfree(void* ptr) { if (!ptr) @@ -333,9 +339,9 @@ void operator delete(void* ptr) noexcept return kfree(ptr); } -void operator delete(void* ptr, size_t) noexcept +void operator delete(void* ptr, size_t size) noexcept { - return kfree(ptr); + return kfree_sized(ptr, size); } void operator delete[](void* ptr) noexcept @@ -343,9 +349,9 @@ void operator delete[](void* ptr) noexcept return kfree(ptr); } -void operator delete[](void* ptr, size_t) noexcept +void operator delete[](void* ptr, size_t size) noexcept { - return kfree(ptr); + return kfree_sized(ptr, size); } void get_kmalloc_stats(kmalloc_stats& stats) diff --git a/Kernel/Heap/kmalloc.h b/Kernel/Heap/kmalloc.h index fe35095663..11fa984011 100644 --- a/Kernel/Heap/kmalloc.h +++ b/Kernel/Heap/kmalloc.h @@ -42,6 +42,7 @@ void kmalloc_init(); void* krealloc(void*, size_t); void kfree(void*); +void kfree_sized(void*, size_t); struct kmalloc_stats { size_t bytes_allocated;