Skip to content

Fix hang when decoding a corrupt subsequent zstd frame - #470

Merged
NobodyXu merged 2 commits into
Nullus157:mainfrom
zanieb:zb/fix-zstd-multiple-members-error
Jul 28, 2026
Merged

Fix hang when decoding a corrupt subsequent zstd frame#470
NobodyXu merged 2 commits into
Nullus157:mainfrom
zanieb:zb/fix-zstd-multiple-members-error

Conversation

@zanieb

@zanieb zanieb commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Fix an infinite loop when decoding concatenated zstd frames with multiple_members(true) and a later frame is corrupt.

After completing a frame, the bufread decoder incorrectly treats the next decode as an empty-input poll even when input remains buffered, suppressing the corruption error and allowing the decoder to spin without making progress. Only request another poll when the current buffer is exhausted, ensuring errors from subsequent frames are propagated.

@zanieb zanieb changed the title Fix errors in subsequent compressed members Fix hang when decoding a corrupt subsequent zstd frame Jul 15, 2026
@zanieb
zanieb marked this pull request as ready for review July 27, 2026 22:12
@codecov

codecov Bot commented Jul 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (05af670) to head (727f884).

Additional details and impacted files
@@     Coverage Diff     @@
##   main   #470   +/-   ##
===========================
===========================

☔ View full report in Codecov by Harness.
📢 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.

@NobodyXu NobodyXu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, LGTM! Will cut a release after merging

@NobodyXu
NobodyXu added this pull request to the merge queue Jul 28, 2026
Merged via the queue into Nullus157:main with commit 25e903d Jul 28, 2026
45 of 47 checks passed
CathalMullan pushed a commit to CathalMullan/async-compression that referenced this pull request Aug 7, 2026
## 🤖 New release

* `async-compression`: 0.4.42 -> 0.4.43 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.4.43](Nullus157/async-compression@async-compression-v0.4.42...async-compression-v0.4.43)
- 2026-07-28

### Other

- Fix hang when decoding a corrupt subsequent zstd frame
([Nullus157#470](Nullus157#470))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

2 participants