mirror of
https://github.com/python/cpython.git
synced 2026-01-16 12:20:02 +00:00
PyObject_GetBuffer() can execute user code (e.g. via __buffer__), which may
close or otherwise mutate a BytesIO object while write() or writelines()
is in progress. This could invalidate the internal buffer and lead to a
use-after-free.
Ensure that PyObject_GetBuffer() is called before validation checks.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| clinic | ||
| _iomodule.c | ||
| _iomodule.h | ||
| bufferedio.c | ||
| bytesio.c | ||
| fileio.c | ||
| iobase.c | ||
| stringio.c | ||
| textio.c | ||
| winconsoleio.c | ||