Basic Allocation
1 / 5
block_header_t *free_list_head = NULL;
// Linked list of ALL blocks
// .free flag marks availability
block_header_t *find_first_fit(size_t size) {
block_header_t *curr = free_list_head;
while (curr) {
if (curr->free && curr->size >= size)
return curr;
curr = curr->next;
}
return NULL;
}