From 5960de2e204015bd47b30c7f882545e6d8d420f4 Mon Sep 17 00:00:00 2001 From: Eladash Date: Fri, 17 Apr 2020 16:45:13 +0300 Subject: [PATCH] PPUAnalyzer: Check if TOC from OPD is a valid address --- rpcs3/Emu/Cell/PPUAnalyser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/PPUAnalyser.cpp b/rpcs3/Emu/Cell/PPUAnalyser.cpp index 259d3aa723..d3a674c57f 100644 --- a/rpcs3/Emu/Cell/PPUAnalyser.cpp +++ b/rpcs3/Emu/Cell/PPUAnalyser.cpp @@ -664,7 +664,7 @@ void ppu_module::analyse(u32 lib_toc, u32 entry) const u32 _toc_end = _toc + 0x8000; // TODO: improve TOC constraints - if (_toc % 4 || _toc == 0 || _toc >= 0x40000000 || (_toc >= start && _toc < end)) + if (_toc % 4 || !vm::check_addr(_toc) || _toc >= 0x40000000 || (_toc >= start && _toc < end)) { sec_end.set(0); break;