Kaydet (Commit) 65856600 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Issue 2784: fix leaks in exception exit.

üst 8df4e22a
...@@ -2305,14 +2305,14 @@ builtin_sum(PyObject *self, PyObject *args) ...@@ -2305,14 +2305,14 @@ builtin_sum(PyObject *self, PyObject *args)
return PyFloat_FromDouble(f_result); return PyFloat_FromDouble(f_result);
} }
if (PyFloat_CheckExact(item)) { 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); f_result += PyFloat_AS_DOUBLE(item);
PyFPE_END_PROTECT(f_result) PyFPE_END_PROTECT(f_result)
Py_DECREF(item); Py_DECREF(item);
continue; continue;
} }
if (PyInt_CheckExact(item)) { 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); f_result += (double)PyInt_AS_LONG(item);
PyFPE_END_PROTECT(f_result) PyFPE_END_PROTECT(f_result)
Py_DECREF(item); Py_DECREF(item);
......
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