Skip to content

Commit 6c29756

Browse files
Fix type_get_bases() and type_get_mro().
1 parent d596f5a commit 6c29756

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

Objects/typeobject.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -865,7 +865,11 @@ set_bases(PyTypeObject *type, PyObject *bases)
865865
static PyObject *
866866
type_get_bases(PyTypeObject *type, void *context)
867867
{
868-
return Py_NewRef(get_bases(type));
868+
PyObject *bases = get_bases(type);
869+
if (bases == NULL) {
870+
Py_RETURN_NONE;
871+
}
872+
return Py_NewRef(bases);
869873
}
870874

871875
static inline PyObject *
@@ -912,7 +916,11 @@ clear_mro(PyTypeObject *type)
912916
static PyObject *
913917
type_get_mro(PyTypeObject *type, void *context)
914918
{
915-
return Py_NewRef(get_mro(type));
919+
PyObject *mro = get_mro(type);
920+
if (mro == NULL) {
921+
Py_RETURN_NONE;
922+
}
923+
return Py_NewRef(mro);
916924
}
917925

918926
static PyTypeObject *best_base(PyObject *);

0 commit comments

Comments
 (0)