diff options
-rw-r--r-- | Objects/object.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/object.c b/Objects/object.c index e44edca..150caac 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1656,12 +1656,15 @@ merge_class_dict(PyObject* dict, PyObject* aclass) PyErr_Clear(); else { for (i = 0; i < n; i++) { + int status; PyObject *base = PySequence_GetItem(bases, i); if (base == NULL) { Py_DECREF(bases); return -1; } - if (merge_class_dict(dict, base) < 0) { + status = merge_class_dict(dict, base); + Py_DECREF(base); + if (status < 0) { Py_DECREF(bases); return -1; } |