From 7fe98d8d6694182b8954296e5f3e04daf43d9099 Mon Sep 17 00:00:00 2001 From: Eladash Date: Fri, 21 Aug 2020 20:49:57 +0300 Subject: [PATCH] Debugger: Add missing PPU stack register checks --- rpcs3/Emu/Cell/PPUThread.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 59b18a548b..8fdfedb59b 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -501,7 +501,14 @@ std::vector> ppu_thread::dump_callstack_list() const //std::shared_lock rlock(vm::g_mutex); // Needs optimizations // Determine stack range - const u32 stack_ptr = static_cast(gpr[1]); + const u64 r1 = gpr[1]; + + if (r1 > UINT32_MAX || r1 % 0x10) + { + return {}; + } + + const u32 stack_ptr = static_cast(r1); if (!vm::check_addr(stack_ptr, 1, vm::page_writable)) {