[Python-checkins] python/dist/src/Python bltinmodule.c, 2.321, 2.322

birkenfeld@users.sourceforge.net birkenfeld at users.sourceforge.net
Wed Jul 20 00:20:24 CEST 2005


Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6123/Python

Modified Files:
	bltinmodule.c 
Log Message:
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.321
retrieving revision 2.322
diff -u -d -r2.321 -r2.322
--- bltinmodule.c	11 Mar 2005 06:49:40 -0000	2.321
+++ bltinmodule.c	19 Jul 2005 22:20:20 -0000	2.322
@@ -210,10 +210,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);
@@ -222,11 +227,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