From 1b61b3c6d06efd42425ad706f2cefdb223fbbe1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Wed, 8 Apr 2026 23:36:29 +0200 Subject: [PATCH] Minor cleanups --- src/small_allocator.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/small_allocator.c b/src/small_allocator.c index e67ab11..5e64353 100644 --- a/src/small_allocator.c +++ b/src/small_allocator.c @@ -73,14 +73,15 @@ void small_allocator_init(SmallAllocator* a, void* backing_store, size_t size) { // backing store must be aligned, otherwise all alignment guarantees are lies assert(((uintptr_t)backing_store & (ALIGNMENT - 1)) == 0); + assert(size >= sizeof(BlockHeader)); - a->base = (uint8_t*)backing_store; + a->base = backing_store; a->size = size; - BlockHeader* first = (BlockHeader*)a->base; + BlockHeader* first = backing_store; size_t usable = ALIGN(size - sizeof(BlockHeader)); - - first->size_and_flags = usable | BLOCK_FREE; + block_set_free(first); + block_set_size(first, usable); first->next = NULL; first->prev = NULL;