Skip to content

ROB: Avoid divison by zero when decoding FlateDecode PNG prediction#3641

Merged
stefan6419846 merged 2 commits intopy-pdf:mainfrom
stefan6419846:flate-zero
Feb 16, 2026
Merged

ROB: Avoid divison by zero when decoding FlateDecode PNG prediction#3641
stefan6419846 merged 2 commits intopy-pdf:mainfrom
stefan6419846:flate-zero

Conversation

@stefan6419846
Copy link
Collaborator

Previously, calculating bpp could raise a ZeroDivisionError due to invalid column values. The validation has been extended in accordance to the PDF specification which requires these values to always be positive.

Some additionally refactoring has been included to simplify the existing code and drop the exception handling where possible when retrieving the parameters.

Previously, calculating `bpp` could raise a ZeroDivisionError due to
invalid column values. The validation has been extended in accordance to
the PDF specification which requires these values to always be positive.

Some additionally refactoring has been included to simplify the existing
code and drop the exception handling where possible when retrieving the
parameters.
@codecov
Copy link

codecov bot commented Feb 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.36%. Comparing base (cd9e9da) to head (571461c).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3641      +/-   ##
==========================================
+ Coverage   97.34%   97.36%   +0.01%     
==========================================
  Files          55       55              
  Lines        9882     9879       -3     
  Branches     1806     1807       +1     
==========================================
- Hits         9620     9619       -1     
+ Misses        153      151       -2     
  Partials      109      109              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@stefan6419846 stefan6419846 merged commit 9cdcc4c into py-pdf:main Feb 16, 2026
18 checks passed
@stefan6419846 stefan6419846 deleted the flate-zero branch February 16, 2026 13:06
stefan6419846 added a commit that referenced this pull request Feb 17, 2026
## What's new

### Security (SEC)
- Detect cyclic references when accessing TreeObject.children (#3645) by @stefan6419846
- Limit size of `/ToUnicode` entries (#3646) by @stefan6419846
- Limit FlateDecode recovery attempts (#3644) by @stefan6419846

### Bug Fixes (BUG)
- Avoid own object replacement logic in `PageObject.replace_contents` (#3638) by @stefan6419846
- Fix UnboundLocalError when update_page_form_field_values with /Sig (#3634) by @John-Sharp

### Robustness (ROB)
- Avoid divison by zero when decoding FlateDecode PNG prediction (#3641) by @stefan6419846

[Full Changelog](6.7.0...6.7.1)
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