Browse Source

Memory Manager: ensure safety of GPU to CPU address.

Fernando Sahmkow 4 years ago
parent
commit
7cfa28a666
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/video_core/memory_manager.cpp

+ 3 - 0
src/video_core/memory_manager.cpp

@@ -193,6 +193,9 @@ void MemoryManager::Unmap(GPUVAddr gpu_addr, std::size_t size) {
 }
 
 std::optional<VAddr> MemoryManager::GpuToCpuAddress(GPUVAddr gpu_addr) const {
+    if (gpu_addr >= address_space_size) [[unlikely]] {
+        return std::nullopt;
+    }
     if (GetEntry<true>(gpu_addr) != EntryType::Mapped) [[unlikely]] {
         if (GetEntry<false>(gpu_addr) != EntryType::Mapped) {
             return std::nullopt;