mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-01 22:19:10 -06:00
The export checked an image's /Width × /Height against its 100-million- pixel budget, and the JBIG2 page's width against /Width, but not the page's height. The decoder decodes the whole page, rows past the image's height too, and takes pages of up to about 2^28 pixels: a 20,000 × 4 image over a 20,000 × 10,000 JBIG2 page cost 200 million pixels of decoding to export four rows. The page itself is now held to the budget before it is decoded. Found by CodeRabbit on #4320. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P6yUtvWGPsJpMLyh6pxSXG