diff --git a/core/relinker/elfpatcher/src/linux/LinuxGuestModuleWriter.cpp b/core/relinker/elfpatcher/src/linux/LinuxGuestModuleWriter.cpp index 31168ebd6..11b2348ef 100644 --- a/core/relinker/elfpatcher/src/linux/LinuxGuestModuleWriter.cpp +++ b/core/relinker/elfpatcher/src/linux/LinuxGuestModuleWriter.cpp @@ -12,8 +12,9 @@ std::vector GuestModuleWriter::WriteLinux(const Relinker::GuestIma for (auto header : image.Headers) { if (header.Type != 1 && header.Type != 7 && header.Type != 0x6474e550 && header.Type != 0x6474e551) continue; if (header.Type == 1) { - header.Flags |= 4; end = std::max(end, header.MappedAddress + header.MemorySize); + if (header.Flags == 0) continue; + header.Flags |= 4; } headers.push_back(header); }