Issue #18408: Fix PyType_Ready() and type.__bases__ setter to handle
PyWeakref_NewRef() failure (ex: MemoryError).
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index a351667..5565b20 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -4329,6 +4329,8 @@
     }
     assert(PyList_Check(list));
     newobj = PyWeakref_NewRef((PyObject *)type, NULL);
+    if (newobj == NULL)
+        return -1;
     i = PyList_GET_SIZE(list);
     while (--i >= 0) {
         ref = PyList_GET_ITEM(list, i);