mirror of
https://github.com/python/cpython.git
synced 2026-06-28 11:50:50 +00:00
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. Co-authored-by: yihong0618 <zouzou0208@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| __main__.py | ||
| test_bufferedio.py | ||
| test_file.py | ||
| test_fileio.py | ||
| test_general.py | ||
| test_largefile.py | ||
| test_memoryio.py | ||
| test_signals.py | ||
| test_textio.py | ||
| test_univnewlines.py | ||
| utils.py | ||