# HG changeset patch # User Guido van Rossum # Date 1034948541 0 # Node ID 8540887bcec6c9b90a2aaab4102279522d1f7c59 # Parent 035b8deb52c1ef4d0eb53017ca7a402c18ee7396 Backport of 2.183: Fix memory leak in add_subclass() found by NealN with valgrind. diff -r 035b8deb52c1 -r 8540887bcec6 Objects/typeobject.c --- a/Objects/typeobject.c Thu Oct 17 22:17:43 2002 +0000 +++ b/Objects/typeobject.c Fri Oct 18 13:42:21 2002 +0000 @@ -2249,8 +2249,11 @@ while (--i >= 0) { ref = PyList_GET_ITEM(list, i); assert(PyWeakref_CheckRef(ref)); - if (PyWeakref_GET_OBJECT(ref) == Py_None) - return PyList_SetItem(list, i, new); + if (PyWeakref_GET_OBJECT(ref) == Py_None) { + i = PyList_SetItem(list, i, new); + Py_DECREF(new); + return i; + } } i = PyList_Append(list, new); Py_DECREF(new);