how is the wilderness size after the first allocation 0x20920 if the starting size was 0x21000? should the wilderness size after the first allocation plus the malloc'ed size plus the chunk meta data size not equal the starting size? that would result in 0x20920 + 0x10 + 0x10 = 0x20940 which is not 0x21000
Best explanation of a real world memory allocator i have come across.
Excellent.
how is the wilderness size after the first allocation 0x20920 if the starting size was 0x21000? should the wilderness size after the first allocation plus the malloc'ed size plus the chunk meta data size not equal the starting size? that would result in 0x20920 + 0x10 + 0x10 = 0x20940 which is not 0x21000
maybe some memory is used for the internal state of the allocator?