https://github.com/python/cpython/commit/3603bd318b93d1ee1c40f39b6f2db08190a9e34a
commit: 3603bd318b93d1ee1c40f39b6f2db08190a9e34a
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: sobolevn <[email protected]>
date: 2026-06-12T11:31:51Z
summary:

[3.15] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` 
(GH-151382) (#151398)

gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382)
(cherry picked from commit 6b217ea90b9cd694fded6308bc796e324bbacd19)

Co-authored-by: sobolevn <[email protected]>

files:
A Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst
M Modules/_ctypes/callproc.c

diff --git 
a/Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst 
b/Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst
new file mode 100644
index 000000000000000..20ef69d5de5ac55
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst
@@ -0,0 +1,2 @@
+Fix crash on unset :exc:`MemoryError` on allocation failure in
+:func:`ctypes.get_errno`.
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index e453cfeec9cc8ca..ccc57e347b07acf 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -168,8 +168,9 @@ _ctypes_get_errobj(ctypes_state *st, int **pspace)
     }
     else {
         void *space = PyMem_Calloc(2, sizeof(int));
-        if (space == NULL)
-            return NULL;
+        if (space == NULL) {
+            return PyErr_NoMemory();
+        }
         errobj = PyCapsule_New(space, CTYPES_CAPSULE_NAME_PYMEM, 
pymem_destructor);
         if (errobj == NULL) {
             PyMem_Free(space);

_______________________________________________
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