From: smea Date: Thu, 19 Mar 2015 19:29:47 +0000 (-0700) Subject: fix bug when alignment value too big X-Git-Tag: v0.6.0~74 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=d22d0a9345532e56b1fbb08d39b9ec60371154f7;p=corbenik%2Fctrulib.git fix bug when alignment value too big --- diff --git a/libctru/source/allocator/mem_pool.cpp b/libctru/source/allocator/mem_pool.cpp index 1490a14..7482cc6 100644 --- a/libctru/source/allocator/mem_pool.cpp +++ b/libctru/source/allocator/mem_pool.cpp @@ -59,6 +59,7 @@ bool MemPool::Allocate(MemChunk& chunk, u32 size, int align) auto addr = b->base; u32 begWaste = (u32)addr & alignMask; if (begWaste > 0) begWaste = alignMask + 1 - begWaste; + if (begWaste > b->size) continue; addr += begWaste; u32 bSize = b->size - begWaste; if (bSize < size) continue;