PyList_Append steals a reference even if it fails).
builtin_filter(): Had the same leak problem as builtin_map().
goto Fail_1;
}
else {
+ int status = PyList_Append(result, item);
j++;
- if (PyList_Append(result, item) < 0)
+ Py_DECREF(item);
+ if (status < 0)
goto Fail_1;
}
} else {
goto Fail_1;
}
if (i >= len) {
- if (PyList_Append(result, value) < 0)
- goto Fail_1;
+ int status = PyList_Append(result, value);
Py_DECREF(value);
+ if (status < 0)
+ goto Fail_1;
}
else {
if (PyList_SetItem(result, i, value) < 0)