From b46408d554c0d6d31f1746e36c2703a91935e9b7 Mon Sep 17 00:00:00 2001 From: Elad <18193363+elad335@users.noreply.github.com> Date: Sat, 18 Jan 2025 18:51:53 +0200 Subject: [PATCH] PPU Analyzer: Report invalid functions --- rpcs3/Emu/Cell/PPUAnalyser.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rpcs3/Emu/Cell/PPUAnalyser.cpp b/rpcs3/Emu/Cell/PPUAnalyser.cpp index 7184e06dd6..6ddb097167 100644 --- a/rpcs3/Emu/Cell/PPUAnalyser.cpp +++ b/rpcs3/Emu/Cell/PPUAnalyser.cpp @@ -624,6 +624,14 @@ bool ppu_module::analyse(u32 lib_toc, u32 entry, const u32 sec_end, con // Register new function auto add_func = [&](u32 addr, u32 toc, u32 caller) -> ppu_function_ext& { + if (addr < start || addr >= end || s_ppu_itype.decode(*get_ptr(addr)) == ppu_itype::UNK) + { + if (!fmap.contains(addr)) + { + ppu_log.error("Potentially invalid function has been added: 0x%x", addr); + } + } + ppu_function_ext& func = fmap[addr]; if (caller)