瀏覽代碼

kernel: Add missing address space check in SetMemoryAttribute syscall (#2771)

Mary 4 年之前
父節點
當前提交
e7e65ccbc9
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs

+ 5 - 0
Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs

@@ -845,6 +845,11 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
 
             KProcess process = KernelStatic.GetCurrentProcess();
 
+            if (!process.MemoryManager.InsideAddrSpace(position, size))
+            {
+                return KernelResult.InvalidMemState;
+            }
+
             KernelResult result = process.MemoryManager.SetMemoryAttribute(
                 position,
                 size,