From d22d0a9345532e56b1fbb08d39b9ec60371154f7 Mon Sep 17 00:00:00 2001 From: smea Date: Thu, 19 Mar 2015 12:29:47 -0700 Subject: [PATCH] fix bug when alignment value too big --- libctru/source/allocator/mem_pool.cpp | 1 + 1 file changed, 1 insertion(+) 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;