Fix #48725: Support for flushing in zlib stream #3320
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Actually this bug is not limited to zlib, but more about stream filters not being called with the
CLOSING
flag for data-, temp- and memory-streams. The more generic testcase aims to illustrate this.This issue was fixed in 5.5.21 by 86f1875, but resurfaced in 7.2.0 due to 5060fc2. Apparently the fix for another break in 0a45e8f was not enough to fix this issue.
This PR takes another approach by ensuring that a final pass through the stream filter with the
CLOSING
-flag is made, even if the stream turns EOF directly after reading the last bytes.