mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-09 02:38:54 +02:00
misc: chore: Merge duplicated 'if' branches
This commit is contained in:
@@ -276,29 +276,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc
|
||||
WakeClientThread(request, clientResult);
|
||||
}
|
||||
|
||||
if (clientHeader.ReceiveListType < 2 &&
|
||||
clientHeader.ReceiveListOffset > clientMsg.Size)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
else if (clientHeader.ReceiveListType == 2 &&
|
||||
clientHeader.ReceiveListOffset + 8 > clientMsg.Size)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
else if (clientHeader.ReceiveListType > 2 &&
|
||||
clientHeader.ReceiveListType * 8 - 0x10 + clientHeader.ReceiveListOffset > clientMsg.Size)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
|
||||
if (clientHeader.ReceiveListOffsetInWords < clientHeader.MessageSizeInWords)
|
||||
if (clientHeader.ReceiveListType < 2 && clientHeader.ReceiveListOffset > clientMsg.Size ||
|
||||
clientHeader.ReceiveListType == 2 && clientHeader.ReceiveListOffset + 8 > clientMsg.Size ||
|
||||
clientHeader.ReceiveListType > 2 && clientHeader.ReceiveListType * 8 - 0x10 + clientHeader.ReceiveListOffset > clientMsg.Size ||
|
||||
clientHeader.ReceiveListOffsetInWords < clientHeader.MessageSizeInWords)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
@@ -629,29 +610,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc
|
||||
FinishRequest(request, clientResult);
|
||||
}
|
||||
|
||||
if (clientHeader.ReceiveListType < 2 &&
|
||||
clientHeader.ReceiveListOffset > clientMsg.Size)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
else if (clientHeader.ReceiveListType == 2 &&
|
||||
clientHeader.ReceiveListOffset + 8 > clientMsg.Size)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
else if (clientHeader.ReceiveListType > 2 &&
|
||||
clientHeader.ReceiveListType * 8 - 0x10 + clientHeader.ReceiveListOffset > clientMsg.Size)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
|
||||
if (clientHeader.ReceiveListOffsetInWords < clientHeader.MessageSizeInWords)
|
||||
if (clientHeader.ReceiveListType < 2 && clientHeader.ReceiveListOffset > clientMsg.Size ||
|
||||
clientHeader.ReceiveListType == 2 && clientHeader.ReceiveListOffset + 8 > clientMsg.Size ||
|
||||
clientHeader.ReceiveListType > 2 && clientHeader.ReceiveListType * 8 - 0x10 + clientHeader.ReceiveListOffset > clientMsg.Size ||
|
||||
clientHeader.ReceiveListOffsetInWords < clientHeader.MessageSizeInWords)
|
||||
{
|
||||
CleanUpForError();
|
||||
|
||||
|
||||
@@ -441,17 +441,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||
|
||||
ulong addrSpacePagesCount = (AddrSpaceEnd - AddrSpaceStart) / PageSize;
|
||||
|
||||
if (AddrSpaceStart > address)
|
||||
{
|
||||
return KernelResult.InvalidMemState;
|
||||
}
|
||||
|
||||
if (addrSpacePagesCount < pagesCount)
|
||||
{
|
||||
return KernelResult.InvalidMemState;
|
||||
}
|
||||
|
||||
if (endAddr - 1 > AddrSpaceEnd - 1)
|
||||
if (AddrSpaceStart > address || addrSpacePagesCount < pagesCount || endAddr - 1 > AddrSpaceEnd - 1)
|
||||
{
|
||||
return KernelResult.InvalidMemState;
|
||||
}
|
||||
|
||||
@@ -310,17 +310,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
|
||||
|
||||
if (KernelContext.EnableVersionChecks)
|
||||
{
|
||||
if (requiredKernelVersionMajor > KernelVersionMajor)
|
||||
{
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
|
||||
if (requiredKernelVersionMajor != KernelVersionMajor && requiredKernelVersionMajor < 3)
|
||||
{
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
|
||||
if (requiredKernelVersionMinor > KernelVersionMinor)
|
||||
if (requiredKernelVersionMajor > KernelVersionMajor ||
|
||||
requiredKernelVersionMajor != KernelVersionMajor && requiredKernelVersionMajor < 3 ||
|
||||
requiredKernelVersionMinor > KernelVersionMinor)
|
||||
{
|
||||
return KernelResult.InvalidCombination;
|
||||
}
|
||||
|
||||
@@ -535,12 +535,8 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
|
||||
|
||||
ulong copySize = (ulong)((long)handlesCount * 4);
|
||||
|
||||
if (!currentProcess.MemoryManager.InsideAddrSpace(handlesPtr, copySize))
|
||||
{
|
||||
return KernelResult.UserCopyFailed;
|
||||
}
|
||||
|
||||
if (handlesPtr + copySize < handlesPtr)
|
||||
if (!currentProcess.MemoryManager.InsideAddrSpace(handlesPtr, copySize) ||
|
||||
handlesPtr + copySize < handlesPtr)
|
||||
{
|
||||
return KernelResult.UserCopyFailed;
|
||||
}
|
||||
@@ -647,12 +643,8 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
|
||||
|
||||
ulong copySize = (ulong)((long)handlesCount * 4);
|
||||
|
||||
if (!currentProcess.MemoryManager.InsideAddrSpace(handlesPtr, copySize))
|
||||
{
|
||||
return KernelResult.UserCopyFailed;
|
||||
}
|
||||
|
||||
if (handlesPtr + copySize < handlesPtr)
|
||||
if (!currentProcess.MemoryManager.InsideAddrSpace(handlesPtr, copySize) ||
|
||||
handlesPtr + copySize < handlesPtr)
|
||||
{
|
||||
return KernelResult.UserCopyFailed;
|
||||
}
|
||||
@@ -2268,12 +2260,8 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
|
||||
|
||||
ulong copySize = (ulong)maxCount * 8;
|
||||
|
||||
if (address + copySize <= address)
|
||||
{
|
||||
return KernelResult.InvalidMemState;
|
||||
}
|
||||
|
||||
if (currentProcess.MemoryManager.OutsideAddrSpace(address, copySize))
|
||||
if (address + copySize <= address ||
|
||||
currentProcess.MemoryManager.OutsideAddrSpace(address, copySize))
|
||||
{
|
||||
return KernelResult.InvalidMemState;
|
||||
}
|
||||
@@ -2742,12 +2730,7 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
|
||||
|
||||
KThread thread = process.HandleTable.GetObject<KThread>(handle);
|
||||
|
||||
if (thread == null)
|
||||
{
|
||||
return KernelResult.InvalidHandle;
|
||||
}
|
||||
|
||||
if (thread.Owner != process)
|
||||
if (thread == null || thread.Owner != process)
|
||||
{
|
||||
return KernelResult.InvalidHandle;
|
||||
}
|
||||
@@ -2768,12 +2751,7 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
|
||||
|
||||
KThread thread = currentProcess.HandleTable.GetObject<KThread>(handle);
|
||||
|
||||
if (thread == null)
|
||||
{
|
||||
return KernelResult.InvalidHandle;
|
||||
}
|
||||
|
||||
if (thread.Owner != currentProcess)
|
||||
if (thread == null || thread.Owner != currentProcess)
|
||||
{
|
||||
return KernelResult.InvalidHandle;
|
||||
}
|
||||
@@ -2820,12 +2798,8 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
|
||||
|
||||
long handlesSize = handlesCount * 4;
|
||||
|
||||
if (handlesPtr + (ulong)handlesSize <= handlesPtr)
|
||||
{
|
||||
return KernelResult.UserCopyFailed;
|
||||
}
|
||||
|
||||
if (handlesPtr + (ulong)handlesSize - 1 > currentProcess.MemoryManager.AddrSpaceEnd - 1)
|
||||
if (handlesPtr + (ulong)handlesSize <= handlesPtr ||
|
||||
handlesPtr + (ulong)handlesSize - 1 > currentProcess.MemoryManager.AddrSpaceEnd - 1)
|
||||
{
|
||||
return KernelResult.UserCopyFailed;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user