Fix out-of-bounds write in case of failing mmap(...) in PosixLockedPageAllocator::AllocateLocked

This commit is contained in:
practicalswift
2019-01-06 16:38:32 +01:00
parent 9c71998771
commit ca126d490b
3 changed files with 9 additions and 2 deletions

View File

@@ -248,6 +248,9 @@ void *PosixLockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
void *addr;
len = align_up(len, page_size);
addr = mmap(nullptr, len, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (addr == MAP_FAILED) {
return nullptr;
}
if (addr) {
*lockingSuccess = mlock(addr, len) == 0;
}