fix(1107): apply_redactions_destructive indirect reference to an indirect reference to an array - #1108
fix(1107): apply_redactions_destructive indirect reference to an indirect reference to an array#1108ultrasaurus wants to merge 1 commit into
Conversation
3d9b512 to
201a33b
Compare
201a33b to
d30f024
Compare
|
Closing automatically: this PR does not reference an issue. Work here starts from an issue that a maintainer has approved and assigned — What to do:
Typo, documentation, CI and revert PRs are exempt and can be opened directly. |
|
Closing automatically: this project allows one open pull request at a time This is not a judgement about the change. Review here is serial — one maintainer, Please reopen this once your earlier PR resolves. If you have found other unrelated |
|
this does reference an issue "Closes #1107" @yfedoseev My other PR #976 has been waiting for a few weeks. I'd prefer that being merged first. |
|
Closing automatically: this PR does not reference an issue. Work here starts from an issue that a maintainer has approved and assigned — What to do:
Typo, documentation, CI and revert PRs are exempt and can be opened directly. |
|
Closing automatically: this project allows one open pull request at a time This is not a judgement about the change. Review here is serial — one maintainer, Please reopen this once your earlier PR resolves. If you have found other unrelated |
|
This is unblocked — reopen it whenever suits you. Both closures were bugs, and both are fixed on
That last one matters for your question about ordering. This PR was opened on 21 August, before the policy, so it is exempt from the one-open-PR limit — you do not have to wait for #976 to resolve before reopening. I said the opposite earlier and it is no longer true. You asked for #976 first and I am not going to reorder that for you; it is still next on my side either way. But the constraint you were working around is gone, so the choice is yours rather than the automation's. On the substance: the bug is real and worth landing. While working on something unrelated I found the same root cause at a second call site — |
|
@yfedoseev I don't see any way for me to re-open this. I only have the option to "Delete branch"
|
|
@ultrasaurus — reopened and synced onto current I waited for both intake gates to re-run on the reopen before saying it is safe, rather than just reasoning about it — this PR has been closed twice by two different gates, so a third assurance seemed worth actually testing:
Both green, and it stayed open. #1114 fixed both. How the one-open-PR rule works now, since it is what caught you:
That last exemption keys on the PR creation time, which never changes — so no sync, push or reopen can pull an older PR back into scope. It is what just let this one through, and the sync I pushed did not disturb it. Where that leaves you: this and #976 are both open non-drafts, but both predate the epoch, so neither is at risk. #798 and #967 are drafts and are not counted. The limit only applies to something new — a fresh PR opened from now on is judged, would see two open non-drafts, and would close itself. Worth landing what is open before starting anything new. On the sync itself: I merged One thing I want to be straight about: #976 is waiting on our corpus verification, not on you. You answered the review on 21 August and nothing is outstanding at your end. It should not be consuming your quota while it is parked on us — clearing that is my problem, not something for you to wait out. |
…rence apply_redactions_destructive works on pages whose /Contents is an indirect reference to an array refactor: created resolve_page_content_elements so that spec-compliant logic can be shared from - get_page_content_bytes - get_page_images, and - apply_redactions_destructive test failed before fix: destructive_redaction_indirect_contents_array_removes_secret_text_and_bytes add probe for corpus testing Signed-off-by: Sarah Allen <sarah@ultrasaurus.com>
7bc2b82 to
64eacfb
Compare
|
rebased on latest main, tests green locally |

apply_redactions_destructive fails on pages whose /Contents is an indirect reference to an array
Linked issue
Closes #1107
What and why
I should be able to call apply_redactions_destructive on any spec-compliant PDF
Type of change
Tests
(revert-checked). For bug fixes the reproducer is a minimal synthetic
PDF built in code — no third-party/reporter PDF is committed.
contributor/company names in code or fixtures.
cargo testpasses, and the affected feature tiers:rendering/fips,icc/ml/ binding (list which): ____cargo fmt --checkandcargo clippy -- -D warningsare clean.Regression on real PDFs
Corpus I tested: 32 PDFs total (including the PDF where I found this failure)
corpus_sigand diffed my branch againstmainv0.3.77)char-Levenshtein.
Diff summary vs
main:zero diff, no regressions
Diff summary vs latest release:
zero diff, no regressions
AI assistance disclosure
replies are written by me, not generated. This PR is not fully or
predominantly AI-generated.
Checklist
git commit -s).CHANGELOG.mdupdated if user-facing; reporters credited in theCHANGELOG (not in code).
semver-checkswill run).