diff --git a/Core/MIPS/MIPSStackWalk.cpp b/Core/MIPS/MIPSStackWalk.cpp index f520461e37..5cac3df7c8 100644 --- a/Core/MIPS/MIPSStackWalk.cpp +++ b/Core/MIPS/MIPSStackWalk.cpp @@ -102,7 +102,7 @@ namespace MIPSStackWalk { frame.entry = pc; frame.stackSize = -_IMM16; - if (ra_offset != -1) { + if (ra_offset != -1 && Memory::IsValidAddress(frame.sp + ra_offset)) { ra = Memory::Read_U32(frame.sp + ra_offset); } return true;