mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
The pipeline read an executable's DT_NEEDED names with readCStr and checked only bounds and the NUL terminator, so without bundled modules an empty name, $LIB.prx, a:b.prx or a name with CR or LF relinked with exit 0 and reached the Linux DT_NEEDED unchanged, while the Windows and macOS outputs each rejected a different subset. The DT_NEEDED loop now applies the rule GuestImageReader applies to a module's DT_NEEDED: a name is not empty and contains no backslash, colon, dollar, CR or LF; a slash stays allowed. Such an executable now fails on every target with "Invalid dependency: <name>" at the name's file offset, and outputs for valid names do not change.