[Python-checkins] python/dist/src/Objects typeobject.c,2.225,2.226
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Tue, 15 Apr 2003 15:09:49 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory sc8-pr-cvs1:/tmp/cvs-serv31822
Modified Files:
typeobject.c
Log Message:
Fix three (!) object leaks in the code for assignment to __bases__.
Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.225
retrieving revision 2.226
diff -C2 -d -r2.225 -r2.226
*** typeobject.c 15 Apr 2003 20:04:28 -0000 2.225
--- typeobject.c 15 Apr 2003 22:09:45 -0000 2.226
***************
*** 165,172 ****
--- 165,174 ----
PyObject* tuple;
tuple = Py_BuildValue("OO", subclass, old_mro);
+ Py_DECREF(old_mro);
if (!tuple)
return -1;
if (PyList_Append(temp, tuple) < 0)
return -1;
+ Py_DECREF(tuple);
}
if (mro_subclasses(subclass, temp) < 0)
***************
*** 257,261 ****
PyTypeObject* cls;
PyObject* mro;
! PyArg_ParseTuple(PyList_GetItem(temp, i),
"OO", &cls, &mro);
Py_DECREF(cls->tp_mro);
--- 259,263 ----
PyTypeObject* cls;
PyObject* mro;
! PyArg_ParseTuple(PyList_GET_ITEM(temp, i),
"OO", &cls, &mro);
Py_DECREF(cls->tp_mro);