Fix for linker allocator

Change-Id: I18a3f1a8515657f0deb69266184fb516a27f90e8
This commit is contained in:
Dmitriy Ivanov 2014-05-14 12:52:57 -07:00
parent c6b5834ceb
commit 1079406cab
2 changed files with 4 additions and 1 deletions

View File

@ -117,8 +117,8 @@ LinkerAllocatorPage* LinkerBlockAllocator::find_page(void* block) {
}
LinkerAllocatorPage* page = page_list_;
const uint8_t* page_ptr = reinterpret_cast<const uint8_t*>(page);
while (page != nullptr) {
const uint8_t* page_ptr = reinterpret_cast<const uint8_t*>(page);
if (block >= (page_ptr + sizeof(page->next)) && block < (page_ptr + PAGE_SIZE)) {
return page;
}

View File

@ -96,6 +96,9 @@ TEST(linker_allocator, test_larger) {
ASSERT_TRUE(allocator.alloc() != nullptr);
}
test_struct_larger* ptr_to_free = allocator.alloc();
ASSERT_TRUE(ptr_to_free != nullptr);
allocator.free(ptr1);
}
static void protect_all() {