summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Objects/typeobject.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index a3b1476..89d2d4f 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -265,9 +265,10 @@ type_set_bases(PyTypeObject *type, PyObject *value, void *context)
PyObject* mro;
PyArg_UnpackTuple(PyList_GET_ITEM(temp, i),
"", 2, 2, &cls, &mro);
- Py_DECREF(cls->tp_mro);
+ Py_INCREF(mro);
+ ob = cls->tp_mro;
cls->tp_mro = mro;
- Py_INCREF(cls->tp_mro);
+ Py_DECREF(ob);
}
Py_DECREF(temp);
goto bail;