Commit e35b657e authored by Georg Brandl's avatar Georg Brandl

Fix cleanup DECREF logic in builtin_filter function.

parent 150db73c
......@@ -210,10 +210,15 @@ builtin_filter(PyObject *self, PyObject *args)
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 @@ builtin_filter(PyObject *self, PyObject *args)
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. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment