When deallocating a list, DECREF the items from the end back to the start.

This commit is contained in:
Guido van Rossum 1999-06-09 15:19:34 +00:00
parent 8f3e15058c
commit fa71701d46

View file

@ -216,7 +216,12 @@ list_dealloc(op)
{
int i;
if (op->ob_item != NULL) {
for (i = 0; i < op->ob_size; i++) {
/* Do it backwards, for Christian Tismer.
There's a simple test case where somehow this reduces
thrashing when a *very* large list is created and
immediately deleted. */
i = op->ob_size;
while (--i >= 0) {
Py_XDECREF(op->ob_item[i]);
}
free((ANY *)op->ob_item);