diff options
| author | JosJuice <josjuice@gmail.com> | 2023-09-07 19:28:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-07 19:28:46 +0200 |
| commit | cc01b4b997db5cdac15ecbe5a6c55c8e4e941eb6 (patch) | |
| tree | 73ff89c5307e00e2a21b0391d3040ec1e8d00dd4 /Source/Core/Common/MemArenaAndroid.cpp | |
| parent | c0440df2882e09e87efae199cdef28669d7c85ef (diff) | |
| parent | 422bc7a62724643a4d0e92adf857883f73aa9ca6 (diff) | |
Merge pull request #12173 from AdmiralCurtiss/fixed-mapping-assert
Common/MemArena: LazyMemoryRegion fixes.
Diffstat (limited to 'Source/Core/Common/MemArenaAndroid.cpp')
| -rw-r--r-- | Source/Core/Common/MemArenaAndroid.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/Core/Common/MemArenaAndroid.cpp b/Source/Core/Common/MemArenaAndroid.cpp index 4a9e2f68b4..bcba64e1e1 100644 --- a/Source/Core/Common/MemArenaAndroid.cpp +++ b/Source/Core/Common/MemArenaAndroid.cpp @@ -155,8 +155,11 @@ void* LazyMemoryRegion::Create(size_t size) { ASSERT(!m_memory); + if (size == 0) + return nullptr; + void* memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - if (!memory) + if (memory == MAP_FAILED) { NOTICE_LOG_FMT(MEMMAP, "Memory allocation of {} bytes failed.", size); return nullptr; @@ -172,7 +175,9 @@ void LazyMemoryRegion::Clear() { ASSERT(m_memory); - mmap(m_memory, m_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0); + void* new_memory = mmap(m_memory, m_size, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0); + ASSERT(new_memory == m_memory); } void LazyMemoryRegion::Release() |
