From: Wulian233 <1055917385@qq.com> Date: Mon, 6 Apr 2026 12:11:30 +0000 (+0800) Subject: gh-148119: Refactor `get_type_attr_as_size` to improve error handling in `structseq... X-Git-Tag: v3.15.0a8~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=69f51625e6314883456b336b9e3471a6221d2787;p=thirdparty%2FPython%2Fcpython.git gh-148119: Refactor `get_type_attr_as_size` to improve error handling in `structseq.c` (#148120) --- diff --git a/Objects/structseq.c b/Objects/structseq.c index 8fa9cbba3bcc..9130fe6a133b 100644 --- a/Objects/structseq.c +++ b/Objects/structseq.c @@ -28,7 +28,11 @@ static Py_ssize_t get_type_attr_as_size(PyTypeObject *tp, PyObject *name) { PyObject *v = PyDict_GetItemWithError(_PyType_GetDict(tp), name); - if (v == NULL && !PyErr_Occurred()) { + + if (v == NULL) { + if (PyErr_Occurred()) { + return -1; + } PyErr_Format(PyExc_TypeError, "Missed attribute '%U' of type %s", name, tp->tp_name);