diff --git a/rpcsx-os/linker.cpp b/rpcsx-os/linker.cpp index fc4dc60af..0189bbb63 100644 --- a/rpcsx-os/linker.cpp +++ b/rpcsx-os/linker.cpp @@ -71,6 +71,12 @@ static std::vector unself(const std::byte *image, std::size_t size) { for (std::size_t i = 0; i < header->segmentCount; ++i) { auto &segment = segments[i]; + if ((segment.flags & 0x7fb) != 0 || + segment.decryptedSize != segment.encryptedSize) { + std::fprintf(stderr, "Unsupported self segment (%lx)\n", segment.flags); + std::abort(); + } + if (~segment.flags & 0x800) { continue; }