Fix memory leak in add_subclass() found by NealN with valgrind.
Will backport.
This commit is contained in:
parent
e4913c9987
commit
72297bb71e
@ -2468,8 +2468,11 @@ add_subclass(PyTypeObject *base, PyTypeObject *type)
|
|||||||
while (--i >= 0) {
|
while (--i >= 0) {
|
||||||
ref = PyList_GET_ITEM(list, i);
|
ref = PyList_GET_ITEM(list, i);
|
||||||
assert(PyWeakref_CheckRef(ref));
|
assert(PyWeakref_CheckRef(ref));
|
||||||
if (PyWeakref_GET_OBJECT(ref) == Py_None)
|
if (PyWeakref_GET_OBJECT(ref) == Py_None) {
|
||||||
return PyList_SetItem(list, i, new);
|
i = PyList_SetItem(list, i, new);
|
||||||
|
Py_DECREF(new);
|
||||||
|
return i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
i = PyList_Append(list, new);
|
i = PyList_Append(list, new);
|
||||||
Py_DECREF(new);
|
Py_DECREF(new);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user