diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 354cbb9d90..0605e13f1b 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -3798,8 +3798,21 @@ extern void ppu_precompile(std::vector& dir_queue, std::vector offs; + if (mself.read(rec) && rec.get_pos(mself.size())) { + if (rec.size <= 0x20) + { + continue; + } + + if (!offs.emplace(rec.off).second) + { + // Duplicate + continue; + } + // Read characters safely std::string name(sizeof(rec.name), '\0');