You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 13fc16c
Browse filesBrowse the repository at this point in the historyBrowse files
authored
[3.14] gh-157364: Fix use-after-free in io.TextIOWrapper during reentrant detach (#159600)
[3.15] gh-157364: Fix use-after-free in io.TextIOWrapper during reentrant detach (#159591)
* gh-143008: Fix Null pointer dereferences in TextIOWrapper underlying stream access (#145957)
TextIOWrapper keeps its underlying stream in a member called
`self->buffer`. That stream can be detached by user code, such as custom
`.flush` implementations resulting in `self->buffer` being set to NULL.
The implementation often checked at the start of functions if
`self->buffer` is in a good state, but did not always recheck after
other Python code was called which could modify `self->buffer`.
The cases which need to be re-checked are hard to spot so rather than
rely on reviewer effort create better safety by making all self->buffer
access go through helper functions.
Thank you yihong0618 for the test, NEWS and initial implementation in
gh-143041.
(cherry picked from commit db4b194)
* gh-154523: Fix data-race in `TextIOWrapper.detach()` (#154565)
(cherry picked from commit 8440a6a)
* gh-157364: Fix use-after-free in io.TextIOWrapper during reentrant detach (#157370)
(cherry picked from commit e19dc47)
---------
(cherry picked from commit ea1312b)
Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
Co-authored-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: Brij Kapadia <97006829+brijkapadia@users.noreply.github.com>
Co-authored-by: Shamil <ashm.tech@proton.me>
0 commit comments