summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorTilka <tilkax@gmail.com>2020-08-08 20:59:48 +0100
committerGitHub <noreply@github.com>2020-08-08 20:59:48 +0100
commit3101d957b6044bc3b5135fbfd3290c85eea6a79a (patch)
tree6752c7fd41bfbafb990e8eb6302800716d45fa5d /Source
parent6356cc8b08a8e5ef1f841d696f38bab6c68bf009 (diff)
parent364ef76ba12cfae40397e29d3ff6b1cba8eb4826 (diff)
Merge pull request #8886 from JosJuice/stack-check-instruction
PatchEngine: Attempt to fix crash in IsStackSane
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PatchEngine.cpp3
-rw-r--r--Source/Core/Core/PowerPC/MMU.cpp3
2 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/Core/PatchEngine.cpp b/Source/Core/Core/PatchEngine.cpp
index c416996d25..b2cfa92327 100644
--- a/Source/Core/Core/PatchEngine.cpp
+++ b/Source/Core/Core/PatchEngine.cpp
@@ -231,7 +231,8 @@ static bool IsStackSane()
// Check the link register makes sense (that it points to a valid IBAT address)
const u32 address = PowerPC::HostRead_U32(next_SP + 4);
- return PowerPC::HostIsInstructionRAMAddress(address) && 0 != PowerPC::HostRead_U32(address);
+ return PowerPC::HostIsInstructionRAMAddress(address) &&
+ 0 != PowerPC::HostRead_Instruction(address);
}
bool ApplyFramePatches()
diff --git a/Source/Core/Core/PowerPC/MMU.cpp b/Source/Core/Core/PowerPC/MMU.cpp
index 5a008f92fc..937cf02fd0 100644
--- a/Source/Core/Core/PowerPC/MMU.cpp
+++ b/Source/Core/Core/PowerPC/MMU.cpp
@@ -423,8 +423,7 @@ TryReadInstResult TryReadInstruction(u32 address)
u32 HostRead_Instruction(const u32 address)
{
- UGeckoInstruction inst = HostRead_U32(address);
- return inst.hex;
+ return ReadFromHardware<XCheckTLBFlag::OpcodeNoException, u32>(address);
}
static void Memcheck(u32 address, u32 var, bool write, size_t size)