From f943deb2c3ab3a95d07ac29af9a2d412ff4bb7f5 Mon Sep 17 00:00:00 2001 From: Eladash <18193363+elad335@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:05:14 +0200 Subject: [PATCH] PPU LLVM: Do not use possible duplicates in MSELF --- rpcs3/Emu/Cell/PPUThread.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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');