Code Review: Custom Memory Allocator in C