Explorar o código

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

Mary %!s(int64=4) %!d(string=hai) anos
pai
achega
e7e65ccbc9
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  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,