[Python-checkins] r86641 - in python/branches/py3k: Parser/asdl_c.py Python/Python-ast.c

benjamin.peterson python-checkins at python.org
Sun Nov 21 16:12:34 CET 2010


Author: benjamin.peterson
Date: Sun Nov 21 16:12:34 2010
New Revision: 86641

Log:
fix refleak

Modified:
   python/branches/py3k/Parser/asdl_c.py
   python/branches/py3k/Python/Python-ast.c

Modified: python/branches/py3k/Parser/asdl_c.py
==============================================================================
--- python/branches/py3k/Parser/asdl_c.py	(original)
+++ python/branches/py3k/Parser/asdl_c.py	Sun Nov 21 16:12:34 2010
@@ -376,6 +376,7 @@
         self.emit(format % error, 1, reflow=False)
         if add_label:
             self.emit("failed:", 1)
+            self.emit("Py_XDECREF(tmp);", 1)
         self.emit("return 1;", 1)
         self.emit("}", 0)
         self.emit("", 0)

Modified: python/branches/py3k/Python/Python-ast.c
==============================================================================
--- python/branches/py3k/Python/Python-ast.c	(original)
+++ python/branches/py3k/Python/Python-ast.c	Sun Nov 21 16:12:34 2010
@@ -3516,6 +3516,7 @@
 
         PyErr_Format(PyExc_TypeError, "expected some sort of mod, but got %R", obj);
         failed:
+        Py_XDECREF(tmp);
         return 1;
 }
 
@@ -4711,6 +4712,7 @@
 
         PyErr_Format(PyExc_TypeError, "expected some sort of stmt, but got %R", obj);
         failed:
+        Py_XDECREF(tmp);
         return 1;
 }
 
@@ -5826,6 +5828,7 @@
 
         PyErr_Format(PyExc_TypeError, "expected some sort of expr, but got %R", obj);
         failed:
+        Py_XDECREF(tmp);
         return 1;
 }
 
@@ -6006,6 +6009,7 @@
 
         PyErr_Format(PyExc_TypeError, "expected some sort of slice, but got %R", obj);
         failed:
+        Py_XDECREF(tmp);
         return 1;
 }
 
@@ -6438,6 +6442,7 @@
 
         PyErr_Format(PyExc_TypeError, "expected some sort of excepthandler, but got %R", obj);
         failed:
+        Py_XDECREF(tmp);
         return 1;
 }
 


More information about the Python-checkins mailing list