[3.13] gh-143378: Fix use-after-free when BytesIO is concurrently mutated during write operations (GH-143408) (GH-143600)
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 6d54b6ac7d5744e1f59d784c8e020d632d2959a3) Co-authored-by: zhong <60600792+superboy-zjc@users.noreply.github.com>
S
Serhiy Storchaka committed
dcc6117628da72f41d877418a8ae8f1723546043
Parent: ea1ecf6
Committed by GitHub <noreply@github.com>
on 1/12/2026, 8:37:28 AM