From 8fb583b57f4390d5c8809541cc12bf90653c1abc Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 9 Sep 2025 10:19:12 +0200 Subject: [PATCH] Unused headers, remove some specific asserts, some reference notes on wiping block --- freelist/freelist.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/freelist/freelist.c b/freelist/freelist.c index 7a31c38..7b181ae 100644 --- a/freelist/freelist.c +++ b/freelist/freelist.c @@ -1,10 +1,4 @@ #include "freelist.h" -#include "stddef.h" -#include -#include -#include -#include -#include struct __attribute__((packed)) FreeListBlock { uint16_t next_offset; @@ -36,8 +30,6 @@ int fl_init(FreeList *fl, uintptr_t start, size_t size_bytes, size_t itemsize) { * but MAX_ALIGN_T is also an option. Especially for allocator implementation. */ size_t size = align_up_to(itemsize, sizeof(void *)); - assert(sizeof(FreeListBlock) == 2); - if (size < sizeof(FreeListBlock) || !fl) return 0; @@ -69,7 +61,14 @@ void *fl_alloc(FreeList *fl) { fl->free = offset_to_ptr(fl, fl->free->next_offset); /* May be null, which is fine */ fl->allocated++; - memset((void *)m, 0, sizeof(FreeListBlock)); + /* Wipe it before sending it out, could use memset + * here, or even wiping the entire block */ + m->next_offset = 0; + + /* For reference: */ + // memset((void *)m, 0, fl->size); /* Wipe entire block */ + // memset((void *)m, 0, sizeof(FreeListBlock)); /* Wipe only header */ + return ((void *)m); }