Issue 2784: fix leaks in exception exit.
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index dbae0c9..715a108 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -2305,14 +2305,14 @@
return PyFloat_FromDouble(f_result);
}
if (PyFloat_CheckExact(item)) {
- PyFPE_START_PROTECT("add", return 0)
+ PyFPE_START_PROTECT("add", Py_DECREF(item); Py_DECREF(iter); return 0)
f_result += PyFloat_AS_DOUBLE(item);
PyFPE_END_PROTECT(f_result)
Py_DECREF(item);
continue;
}
if (PyInt_CheckExact(item)) {
- PyFPE_START_PROTECT("add", return 0)
+ PyFPE_START_PROTECT("add", Py_DECREF(item); Py_DECREF(iter); return 0)
f_result += (double)PyInt_AS_LONG(item);
PyFPE_END_PROTECT(f_result)
Py_DECREF(item);