Add missing Py_DECREF in fast_cfunction. Partial fix for SF bug
#127699.
diff --git a/Python/ceval.c b/Python/ceval.c
index 1559456..5110746 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2769,9 +2769,12 @@
if (na == 0)
return (*meth)(self, NULL);
- else if (na == 1)
- return (*meth)(self, EXT_POP(*pp_stack));
- else {
+ else if (na == 1) {
+ PyObject *arg = EXT_POP(*pp_stack);
+ PyObject *result = (*meth)(self, arg);
+ Py_DECREF(arg);
+ return result;
+ } else {
PyObject *args = load_args(pp_stack, na);
PyObject *result = (*meth)(self, args);
Py_DECREF(args);