[Python-checkins] r63805 - python/trunk/Python/bltinmodule.c

raymond.hettinger python-checkins at python.org
Fri May 30 08:37:27 CEST 2008


Author: raymond.hettinger
Date: Fri May 30 08:37:27 2008
New Revision: 63805

Log:
Issue 2784: fix leaks in exception exit.

Modified:
   python/trunk/Python/bltinmodule.c

Modified: python/trunk/Python/bltinmodule.c
==============================================================================
--- python/trunk/Python/bltinmodule.c	(original)
+++ python/trunk/Python/bltinmodule.c	Fri May 30 08:37:27 2008
@@ -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);


More information about the Python-checkins mailing list