Fix for SF bug 551412. When _PyType_Lookup() is called on a type

whose tp_mro hasn't been initialized, it would dump core.  Fix this by
checking for NULL and calling PyType_Ready().  Will fix this in 2.2.1
too.
This commit is contained in:
Guido van Rossum 2002-05-24 21:40:08 +00:00
parent a2a206b917
commit 9fc8a29663
2 changed files with 22 additions and 0 deletions

View file

@ -1221,6 +1221,12 @@ _PyType_Lookup(PyTypeObject *type, PyObject *name)
/* Look in tp_dict of types in MRO */
mro = type->tp_mro;
if (mro == NULL) {
if (PyType_Ready(type) < 0)
return NULL;
mro = type->tp_mro;
assert(mro != NULL);
}
assert(PyTuple_Check(mro));
n = PyTuple_GET_SIZE(mro);
for (i = 0; i < n; i++) {