[Python-checkins] gh-94673: Fix _PyTypes_InitTypes() and get_type_attr_as_size() (gh-103961)

ericsnowcurrently webhook-mailer at python.org
Thu Apr 27 20:28:58 EDT 2023


https://github.com/python/cpython/commit/424a785a07049924603228b153f746cfe3a983a2
commit: 424a785a07049924603228b153f746cfe3a983a2
branch: main
author: Eric Snow <ericsnowcurrently at gmail.com>
committer: ericsnowcurrently <ericsnowcurrently at gmail.com>
date: 2023-04-27T18:28:51-06:00
summary:

gh-94673: Fix _PyTypes_InitTypes() and get_type_attr_as_size() (gh-103961)

This change has two small parts:

1. a follow-up to gh-103940 with one case I missed
2. adding a missing return that I noticed while working on related code

files:
M Objects/object.c
M Objects/structseq.c

diff --git a/Objects/object.c b/Objects/object.c
index cd610297aacb..4ce10cf1192d 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -2102,10 +2102,6 @@ static PyTypeObject* static_types[] = {
 PyStatus
 _PyTypes_InitTypes(PyInterpreterState *interp)
 {
-    if (!_Py_IsMainInterpreter(interp)) {
-        return _PyStatus_OK();
-    }
-
     // All other static types (unless initialized elsewhere)
     for (size_t i=0; i < Py_ARRAY_LENGTH(static_types); i++) {
         PyTypeObject *type = static_types[i];
diff --git a/Objects/structseq.c b/Objects/structseq.c
index 727d72865e3b..88a71bc52958 100644
--- a/Objects/structseq.c
+++ b/Objects/structseq.c
@@ -31,6 +31,7 @@ get_type_attr_as_size(PyTypeObject *tp, PyObject *name)
         PyErr_Format(PyExc_TypeError,
                      "Missed attribute '%U' of type %s",
                      name, tp->tp_name);
+        return -1;
     }
     return PyLong_AsSsize_t(v);
 }



More information about the Python-checkins mailing list