Hi
There is a bug in your Free List Allocator when alignmentPadding is not zero like on 32 bit systems.
|
const std::size_t alignmentPadding = padding - allocationHeaderSize; |
One bug is here obviously and newFreeNode address is inside of the current block when alignmentPadding is not zero.
|
Node * newFreeNode = (Node *)((std::size_t) affectedNode + requiredSize); |
Hi
There is a bug in your Free List Allocator when alignmentPadding is not zero like on 32 bit systems.
memory-allocators/src/FreeListAllocator.cpp
Line 46 in 0d6ede3
One bug is here obviously and newFreeNode address is inside of the current block when alignmentPadding is not zero.
memory-allocators/src/FreeListAllocator.cpp
Line 53 in 0d6ede3