From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 12 Jun 2026 11:31:00 +0000 (+0200) Subject: [3.14] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab63a5a510931e9d12eb67ca4d913be2be105ab2;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382) (#151399) gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382) (cherry picked from commit 6b217ea90b9cd694fded6308bc796e324bbacd19) Co-authored-by: sobolevn --- 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 000000000000..20ef69d5de5a --- /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 856b0376e5ea..8f85bde61a4d 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -176,8 +176,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);