https://github.com/python/cpython/commit/3d2aa899bad1c0e274640dc0c4323f1744e73435
commit: 3d2aa899bad1c0e274640dc0c4323f1744e73435
branch: main
author: AN Long <[email protected]>
committer: encukou <[email protected]>
date: 2026-05-19T22:31:00+02:00
summary:

gh-149983: Fix PyErr_NoMemory call without GIL in winconsoleio.c (GH-149984)

files:
M Modules/_io/winconsoleio.c

diff --git a/Modules/_io/winconsoleio.c b/Modules/_io/winconsoleio.c
index 677d7e85d4e626..4a3fc586fa3a14 100644
--- a/Modules/_io/winconsoleio.c
+++ b/Modules/_io/winconsoleio.c
@@ -673,12 +673,13 @@ read_console_w(HANDLE handle, DWORD maxlen, DWORD 
*readlen) {
             maxlen += 1;
             Py_BLOCK_THREADS
             newbuf = (wchar_t*)PyMem_Realloc(buf, maxlen * sizeof(wchar_t));
-            Py_UNBLOCK_THREADS
             if (!newbuf) {
                 sig = -1;
                 PyErr_NoMemory();
+                Py_UNBLOCK_THREADS
                 break;
             }
+            Py_UNBLOCK_THREADS
             buf = newbuf;
             /* Only advance by n and not BUFSIZ in this case */
             off += n;

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to