[Python-checkins] python/dist/src/Python bltinmodule.c, 2.318, 2.318.2.1
birkenfeld@users.sourceforge.net
birkenfeld at users.sourceforge.net
Wed Jul 20 00:20:54 CEST 2005
Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6347/Python
Modified Files:
Tag: release24-maint
bltinmodule.c
Log Message:
Backport: fix cleanup DECREF logic in builtin_filter function.
Index: bltinmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/bltinmodule.c,v
retrieving revision 2.318
retrieving revision 2.318.2.1
diff -u -d -r2.318 -r2.318.2.1
--- bltinmodule.c 25 Aug 2004 10:42:41 -0000 2.318
+++ bltinmodule.c 19 Jul 2005 22:20:44 -0000 2.318.2.1
@@ -147,10 +147,15 @@
if (PyTuple_Check(seq))
return filtertuple(func, seq);
+ /* Pre-allocate argument list tuple. */
+ arg = PyTuple_New(1);
+ if (arg == NULL)
+ return NULL;
+
/* Get iterator. */
it = PyObject_GetIter(seq);
if (it == NULL)
- return NULL;
+ goto Fail_arg;
/* Guess a result list size. */
len = PyObject_Size(seq);
@@ -159,11 +164,6 @@
len = 8; /* arbitrary */
}
- /* Pre-allocate argument list tuple. */
- arg = PyTuple_New(1);
- if (arg == NULL)
- goto Fail_arg;
-
/* Get a result list. */
if (PyList_Check(seq) && seq->ob_refcnt == 1) {
/* Eww - can modify the list in-place. */
More information about the Python-checkins
mailing list