[PR #2828] [CLOSED] test(ghidra): cover Swift decoder rejection and capacity branches #5420

Closed
opened 2026-10-31 01:06:29 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2828
Author: @morluto
Created: 10/13/2026
Status: ❌ Closed

Base: main ← Head: codex/review-2049-27f1b367


📝 Commits (10+)

  • 2f89a1b feat(ghidra): decode Swift String literals in function dossiers
  • 702dc9f fix(ghidra): bound Swift literal reads and compare decoded strings
  • facd589 fix(ghidra): budget Swift literal decoding and tighten use sites
  • d5b2edc fix(ghidra): charge escaped JSON and follow copied selects
  • 560257b fix(ghidra): bound literal records and trace selects across branches
  • 59be535 fix(ghidra): stop every flow at the literal budget and route omissions
  • d3ba724 fix(ghidra): preserve Swift literal provenance and partial coverage
  • f8f18e0 fix(ghidra): keep unresolved Swift tail-call sites unknown
  • 27f1b36 test(ghidra): cover Swift decoder rejection and capacity branches
  • b475d35 chore: sync captured main into Swift decoder follow-up

📄 Description

Continues #2049, originally contributed by @thefolahan (Omisakin Joshua). The contributor fork rejected the producer-regression push with permission denied. The original branch remains at f8f18e0bc745f670e72bef43f5b39c943e8073af; the requested regression sources are published on this writable follow-up branch instead.

All original commits, author identities and review-fix history remain intact without squashing. This includes the original Swift literal contribution 2f89a1b5c0e45748f1a7f4ec6bbc480e83348037, subsequent fixes by Omisakin Joshua and Cursor Agent, and the decoder ownership correction f8f18e0bc745f670e72bef43f5b39c943e8073af. Regression commit 27f1b367b9d01b8a395898b0c690fcb7f358e2dc is preserved unchanged. Captured main c6503edfc4afdc0de6812ba3f7cd0909df5555f7 is incorporated once by merge b475d35e97f309a95eed4b08b64d735c8139456c.

The focused regression sources exercise the actual Java decoder and provenance owner in an ephemeral Ghidra program. A source-owned AArch64 fixture covers copied values, conditional selects, malformed small-string padding/UTF-8 and large-string terminators/UTF-8. An internal explicit budget makes full-producer exhaustion deterministic and asserts one structured omission, no published value, and stopped later use sites. Production budget selection is unchanged. The existing Swift verifier builds the fixture and invokes the producer harness.

Validation was source inspection, targeted formatting with two threads and git diff --check only. Tests, compilation, builds, lint, typechecking, real-Ghidra execution and CI reruns were skipped at the user's explicit request. These authored regressions have not been executed; no real-provider verification or measured performance improvement is claimed.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2828 **Author:** [@morluto](https://github.com/morluto) **Created:** 10/13/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/review-2049-27f1b367` --- ### 📝 Commits (10+) - [`2f89a1b`](https://github.com/morluto/rea/commit/2f89a1b5c0e45748f1a7f4ec6bbc480e83348037) feat(ghidra): decode Swift String literals in function dossiers - [`702dc9f`](https://github.com/morluto/rea/commit/702dc9f9329559a86a52fbf379a8d799f8856783) fix(ghidra): bound Swift literal reads and compare decoded strings - [`facd589`](https://github.com/morluto/rea/commit/facd58973a57a051ef8405accf1be8ea25ba9d85) fix(ghidra): budget Swift literal decoding and tighten use sites - [`d5b2edc`](https://github.com/morluto/rea/commit/d5b2edc217008dc18ee636565cb3b148375b239e) fix(ghidra): charge escaped JSON and follow copied selects - [`560257b`](https://github.com/morluto/rea/commit/560257b00e92188a7fabded623fefd8655bc761a) fix(ghidra): bound literal records and trace selects across branches - [`59be535`](https://github.com/morluto/rea/commit/59be5357df07fcf4a2dbab08ecbd100179a40785) fix(ghidra): stop every flow at the literal budget and route omissions - [`d3ba724`](https://github.com/morluto/rea/commit/d3ba7243d73b76a66d5c44c64caf076d5026c810) fix(ghidra): preserve Swift literal provenance and partial coverage - [`f8f18e0`](https://github.com/morluto/rea/commit/f8f18e0bc745f670e72bef43f5b39c943e8073af) fix(ghidra): keep unresolved Swift tail-call sites unknown - [`27f1b36`](https://github.com/morluto/rea/commit/27f1b367b9d01b8a395898b0c690fcb7f358e2dc) test(ghidra): cover Swift decoder rejection and capacity branches - [`b475d35`](https://github.com/morluto/rea/commit/b475d35e97f309a95eed4b08b64d735c8139456c) chore: sync captured main into Swift decoder follow-up ### 📄 Description Continues [#2049](https://github.com/morluto/rea/pull/2049), originally contributed by @thefolahan (Omisakin Joshua). The contributor fork rejected the producer-regression push with permission denied. The original branch remains at `f8f18e0bc745f670e72bef43f5b39c943e8073af`; the requested regression sources are published on this writable follow-up branch instead. All original commits, author identities and review-fix history remain intact without squashing. This includes the original Swift literal contribution `2f89a1b5c0e45748f1a7f4ec6bbc480e83348037`, subsequent fixes by Omisakin Joshua and Cursor Agent, and the decoder ownership correction `f8f18e0bc745f670e72bef43f5b39c943e8073af`. Regression commit `27f1b367b9d01b8a395898b0c690fcb7f358e2dc` is preserved unchanged. Captured main `c6503edfc4afdc0de6812ba3f7cd0909df5555f7` is incorporated once by merge `b475d35e97f309a95eed4b08b64d735c8139456c`. The focused regression sources exercise the actual Java decoder and provenance owner in an ephemeral Ghidra program. A source-owned AArch64 fixture covers copied values, conditional selects, malformed small-string padding/UTF-8 and large-string terminators/UTF-8. An internal explicit budget makes full-producer exhaustion deterministic and asserts one structured omission, no published value, and stopped later use sites. Production budget selection is unchanged. The existing Swift verifier builds the fixture and invokes the producer harness. Validation was source inspection, targeted formatting with two threads and git diff --check only. Tests, compilation, builds, lint, typechecking, real-Ghidra execution and CI reruns were skipped at the user's explicit request. These authored regressions have not been executed; no real-provider verification or measured performance improvement is claimed. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:06:29 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5420
No description provided.