]> Chaos Git - corbenik/ctrulib.git/commitdiff
fix bug when alignment value too big
authorsmea <smealum@gmail.com>
Thu, 19 Mar 2015 19:29:47 +0000 (12:29 -0700)
committersmea <smealum@gmail.com>
Thu, 19 Mar 2015 19:29:47 +0000 (12:29 -0700)
libctru/source/allocator/mem_pool.cpp

index 1490a146f960d0e0c4d807b2b1b223c53459a9da..7482cc68477c4d39b72577c47e70b41ee402155e 100644 (file)
@@ -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;