[Python-checkins] CVS: python/dist/src/Objects abstract.c,2.61,2.62
Tim Peters
tim_one@users.sourceforge.net
Wed, 02 May 2001 00:12:41 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv7959
Modified Files:
abstract.c
Log Message:
Plug a memory leak in list(), when appending to the result list.
Index: abstract.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/abstract.c,v
retrieving revision 2.61
retrieving revision 2.62
diff -C2 -r2.61 -r2.62
*** abstract.c 2001/05/01 20:45:31 2.61
--- abstract.c 2001/05/02 07:12:39 2.62
***************
*** 1292,1300 ****
}
if (i < n)
! PyList_SET_ITEM(result, i, item);
! else if (PyList_Append(result, item) < 0) {
! Py_DECREF(result);
! result = NULL;
! break;
}
}
--- 1292,1304 ----
}
if (i < n)
! PyList_SET_ITEM(result, i, item); /* steals ref */
! else {
! int status = PyList_Append(result, item);
! Py_DECREF(item); /* append creates a new ref */
! if (status < 0) {
! Py_DECREF(result);
! result = NULL;
! break;
! }
}
}