diff Python/bltinmodule.c @ 47385:1e1df892095a legacy-trunk

Issue 2784: fix leaks in exception exit.
author Raymond Hettinger <python@rcn.com>
date Fri, 30 May 2008 06:37:27 +0000
parents 4fe192d48960
children 52294af4b663
line wrap: on
line diff
--- a/Python/bltinmodule.c	Fri May 30 02:46:53 2008 +0000
+++ b/Python/bltinmodule.c	Fri May 30 06:37:27 2008 +0000
@@ -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);