Skip to content

Fix hang when decoding a corrupt subsequent zstd frame#470

Draft
zanieb wants to merge 2 commits into
Nullus157:mainfrom
zanieb:zb/fix-zstd-multiple-members-error
Draft

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

Conversation

@zanieb

@zanieb zanieb commented Jul 15, 2026

Copy link
Copy Markdown

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
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