test 2 passed i changed > into < at line 146
 for (current = first_free; (uintptr_t)current > (uintptr_t)free_block; current = current->next) {
 for (current = first_free; (uintptr_t)current < (uintptr_t)free_block; current = current->next) {