From 18e7083cda52fec41ee5583bd04a916d4a6330f7 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Wed, 5 Feb 2003 19:35:19 +0000 Subject: [PATCH] SF bug 681122: Built-in function dir() causes refcount leak in baseclasses. merge_class_dict(): This was missing a decref. Bugfix candidate. --- Objects/object.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Objects/object.c b/Objects/object.c index e44edca96c..150caac0c6 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; } -- 2.40.0