mirror of
https://github.com/morluto/rea
synced 2026-10-27 14:42:18 -04:00
e5828596c5
* fix(artifacts): inventory universal slices REA cannot structurally index inspect_artifact and extract_artifact rejected a valid universal Mach-O when one slice was outside the structural index, such as XLD's big-endian PowerPC slice. The whole inventory failed with "Artifact is invalid or has changed. Get a fresh copy and try again." When lipo reports every slice's range, the slices are now inventoried from those ranges with a limitation naming the unsupported structure, as the reader already does for files without structural facts. When lipo omits a range, the failure is reported as unavailable support rather than a corrupt artifact. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(artifacts): validate every FAT slice past an unsupported one readFatSlices returned at the first unsupported slice, so a later malformed slice went unchecked: with lipo's ranges now inventoried for unsupported structure, a malformed little-endian slice after a big-endian one was accepted while the reverse order was rejected. Unsupported slices are now remembered and the remaining slices are still validated, so malformed structure wins in either order. Adds portable fake-lipo coverage for complete ranges, missing ranges (unavailable) and malformed slices on both sides of a big-endian slice. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>