From 21df62a26193af5f09bf74cab552b9e128d056a9 Mon Sep 17 00:00:00 2001 From: Ivy Xu Date: Tue, 23 Jun 2026 22:48:11 +0800 Subject: [PATCH] gh-151126: Add missing `PyErr_NoMemory()` in `type_from_slots_or_spec` (GH-151582) (cherry picked from commit 7928a8b730b0334c9f97c2144ab00fe0d88f1e97) Co-authored-by: Ivy Xu Co-authored-by: Stan Ulbrych --- Misc/ACKS | 1 + Objects/typeobject.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Misc/ACKS b/Misc/ACKS index c1216b21e37321..29fc185ab3b4d0 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -2079,6 +2079,7 @@ Xiang Zhang Robert Xiao Florent Xicluna Yanbo, Xie +Ivy Xu Kaisheng Xu Xinhang Xu Arnon Yaari diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 8f44c99f6a7668..bbdfbfc03c98b1 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -4581,6 +4581,7 @@ _PyType_FromMetaclass_impl( Py_ssize_t name_buf_len = strlen(spec->name) + 1; _ht_tpname = PyMem_Malloc(name_buf_len); if (_ht_tpname == NULL) { + PyErr_NoMemory(); goto finally; } memcpy(_ht_tpname, spec->name, name_buf_len); @@ -4862,7 +4863,7 @@ _PyType_FromMetaclass_impl( assert(_PyType_CheckConsistency(type)); - finally: +finally: if (PyErr_Occurred()) { Py_CLEAR(res); }