Merge "Fix for linker allocator"

This commit is contained in:
Dmitriy Ivanov 2014-05-14 21:02:17 +00:00 committed by Gerrit Code Review
commit 6897b7b8b9
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_; LinkerAllocatorPage* page = page_list_;
const uint8_t* page_ptr = reinterpret_cast<const uint8_t*>(page);
while (page != nullptr) { 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)) { if (block >= (page_ptr + sizeof(page->next)) && block < (page_ptr + PAGE_SIZE)) {
return page; return page;
} }

View File

@ -96,6 +96,9 @@ TEST(linker_allocator, test_larger) {
ASSERT_TRUE(allocator.alloc() != nullptr); 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() { static void protect_all() {