diff options
| -rw-r--r-- | src/core/hle/kernel/vm_manager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp index 04d58bbf7..16f48471e 100644 --- a/src/core/hle/kernel/vm_manager.cpp +++ b/src/core/hle/kernel/vm_manager.cpp | |||
| @@ -261,6 +261,11 @@ ResultVal<VAddr> VMManager::HeapAllocate(u64 size) { | |||
| 261 | return ERR_OUT_OF_MEMORY; | 261 | return ERR_OUT_OF_MEMORY; |
| 262 | } | 262 | } |
| 263 | 263 | ||
| 264 | // No need to do any additional work if the heap is already the given size. | ||
| 265 | if (size == GetCurrentHeapSize()) { | ||
| 266 | return MakeResult(heap_region_base); | ||
| 267 | } | ||
| 268 | |||
| 264 | if (heap_memory == nullptr) { | 269 | if (heap_memory == nullptr) { |
| 265 | // Initialize heap | 270 | // Initialize heap |
| 266 | heap_memory = std::make_shared<std::vector<u8>>(size); | 271 | heap_memory = std::make_shared<std::vector<u8>>(size); |