[3.11] gh-119506: fix _io.TextIOWrapper.write() write during flush (#119507)#120314
Uh oh!
There was an error while loading. Please reload this page.
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.
This PR is backport of #119507
This PR fixes TextIOWrapper's inner buffer breakage.
The bug caused assertion error when Python debug build.
I am not sure it can cause crash on release build. The bug will cause:
Since this bug is not verified to cause crash (and DoS) in release build, I am not sure this PR is merged into security fix branches.
But this bug can cause serious bug (data lost/breakage). So I created this PR before details went away from my head.
_io.TextIOWrapper.write: write during flush causespending_byteslength mismatch #119506