Repository navigation
fix: land format parser strictness fixes - #10550
Conversation
inspect-native-exports treated any nonzero byte in .dynsym entry 0 as a malformed table. That is right when the reserved slot holds a real symbol, which was #7389, but some Android arm64 libraries set only st_name. Those files were rejected before any export could be read. Skip that entry, keep the inventory complete, and record the nonzero st_name in limitations. Any other nonzero field still fails the table. Fixes #9700 Supersedes #9752 Co-Authored-By: gensokyo-dev <[email protected]>
The nesting guard ran on a child visit of GgufHeader#value, so an empty innermost array never produced one and a 33rd frame parsed as success while the reported limit stayed maximum_array_frames: 32. Charge the frame when entering the ARRAY branch instead, so the bound counts the advertised unit and no longer depends on a scalar child that is not a frame. Fixes #7312 Supersedes #7698 Co-Authored-By: gensokyo-dev <[email protected]>
Fixes #7315 Supersedes #7317 Co-Authored-By: gensokyo-dev <[email protected]>
Refs #7315 Co-Authored-By: gensokyo-dev <[email protected]>
…flight
An XML plist whose DOCTYPE ends in an empty internal subset ("[]",
optionally with whitespace) declares nothing that could expand, but the
preflight refused it as internal entity expansion. Interface Builder
bundles then omitted the nib and blamed aggregate decode budget
exhaustion. Skip whitespace-only subsets; any declaration still refuses.
Fixes #8407
Supersedes #8438
Co-Authored-By: gensokyo-dev <[email protected]>
Fixes #10262 Supersedes #10263 Co-Authored-By: gensokyo-dev <[email protected]>
… in address attribution Fixes #10211 Supersedes #10218 Co-Authored-By: gensokyo-dev <[email protected]>
Fixes #7689 Supersedes #7733 Co-Authored-By: gensokyo-dev <[email protected]>
Refs #7689 Co-Authored-By: gensokyo-dev <[email protected]>
Squashed from #7471 and rebased onto main. Fixes #7433 Supersedes #7471 Co-Authored-By: gensokyo-dev <[email protected]>
Squashed from #9950 and rebased onto main. Fixes #9942 Supersedes #9950 Co-Authored-By: gensokyo-dev <[email protected]>
Signed-off-by: Rudy Celekli <[email protected]> Fixes #7400 Supersedes #7529 Co-Authored-By: gensokyo-dev <[email protected]>
…tnesses A retroactive protocol conformance sets flag bit 0x40. The static witness check admitted only the type-reference kind bits (0x38), so a retroactive conformance lost its static witness table. The admitted mask is now 0x78; conditional requirements, resilient witnesses and generic witness tables stay unadmitted. Fixes #7445 Only the mask change and its tests are taken from #7489. Supersedes #7489 Co-Authored-By: gensokyo-dev <[email protected]>
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
[Medium impact] The PR appears safe to merge; both previous findings are addressed and no new actionable issues were found. SummaryThis PR adjusts eleven format parsers and adds regression coverage. The latest changes address both previous findings:
No new actionable issues or security issues were identified. Tests were inspected but not run. Supersession could not be checked because GitHub authentication was unavailable. Reviews (2) · Last reviewed commit: "test(native): assert the null-symbol not..." · Reviewed by Greptile |
RFC 6891 makes a second OPT record a format error. Reading every OPT record let a later one with extended RCODE 0 clear an earlier nonzero one, so an error response could attribute its addresses. Refs #10211 Co-Authored-By: gensokyo-dev <[email protected]>
Match the skipped entry's index, file offset and st_name instead of the whole explanatory sentence. Refs #9700 Co-Authored-By: gensokyo-dev <[email protected]>
Summary
Eleven small format-parser strictness fixes, each a reviewed contributor PR whose fork CI never ran, cherry-picked with authorship kept. Merge with rebase to keep per-commit authorship.
Fixes #9700
Fixes #7312
Fixes #7315
Fixes #8407
Fixes #10262
Fixes #10211
Fixes #7689
Fixes #7433
Fixes #9942
Fixes #7400
Fixes #7445
.dynsymnull entry with onlyst_nameset is acceptedContribution scope: ordinary fixes within existing boundaries; maintainer scope decision not applicable.
Evidence and regression coverage
Each contributor's regression test is kept (19 changed test files). After review, the null-symbol note is asserted by its facts rather than its sentence, and the repeated-OPT case has a test that fails without its fix. Parsers are exercised with synthetic fixtures, not real provider binaries.
Validation performed
npm run test:focused --on the changed test files when the batch was prepared: 565 passed. The branch was rebased onto current main without conflicts.npm run check:fast(pre-push): passed.oxfmt --checkon the changed files: clean.Compatibility, safety, and release
Author readiness
Human owner: N0zoM1z0 (PR author, exempt from the declaration per CONTRIBUTING.md).
Supersedes #9752, #7698, #7317, #8438, #10263, #10218, #7733, #7471, #9950, #7529 and #7489. After merge, also close #10176 (tracked by #9752).