Skip to content

Fix pdfbox 5876 - #525

Open
valerybokov wants to merge 3 commits into
apache:trunkfrom
valerybokov:fix-PDFBOX-5876
Open

Fix pdfbox 5876#525
valerybokov wants to merge 3 commits into
apache:trunkfrom
valerybokov:fix-PDFBOX-5876

Conversation

@valerybokov

Copy link
Copy Markdown

Fix: bound that metadata-only read to a fixed, sane subsampling (8 — matching the max PageDrawer.getSubsampling() ever requests anyway) instead of either "no limit" or MAX_VALUE. reader.getWidth(0)/getHeight(0) are unaffected by subsampling, so dimensions stay exact; only the resolution of an embedded soft mask (SMaskInData, rare) is affected, and it's already rescaled elsewhere.

  • Added TestQuality.testPDFBox5876() (spawns a -Xmx600m subprocess, since heap can't be changed mid-JVM) — verified it fails with the exact original stack trace when the fix is reverted, and passes with it applied.

Changes are currently uncommitted on trunk: pdfbox/pom.xml (new test-fixture download entry), PDImageXObject.java (the fix), TestQuality.java + new JPXLowMemoryRenderMain.java (the regression test).

Per https://www.apache.org/legal/generative-tooling.html: portions of this PR were
produced with assistance from Claude Code (Anthropic), based on a bug was described in Apache PDFBOX Issue Tracker.

I've reviewed the generated code and confirm to the best of my knowledge that the output does not include any
third-party copyrighted material and is compatible with the Apache License 2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant