fix bug when alignment value too big

This commit is contained in:
smea 2015-03-19 12:29:47 -07:00
parent b30f553dd0
commit d22d0a9345

View File

@ -59,6 +59,7 @@ bool MemPool::Allocate(MemChunk& chunk, u32 size, int align)
auto addr = b->base; auto addr = b->base;
u32 begWaste = (u32)addr & alignMask; u32 begWaste = (u32)addr & alignMask;
if (begWaste > 0) begWaste = alignMask + 1 - begWaste; if (begWaste > 0) begWaste = alignMask + 1 - begWaste;
if (begWaste > b->size) continue;
addr += begWaste; addr += begWaste;
u32 bSize = b->size - begWaste; u32 bSize = b->size - begWaste;
if (bSize < size) continue; if (bSize < size) continue;