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;