diff Python/Python-ast.c @ 66352:61d1ec307bb0

fix refleak
author Benjamin Peterson <benjamin@python.org>
date Sun, 21 Nov 2010 15:12:34 +0000
parents c64ed6da48b9
children 3c9232a684ae
line wrap: on
line diff
--- a/Python/Python-ast.c	Sun Nov 21 14:36:14 2010 +0000
+++ b/Python/Python-ast.c	Sun Nov 21 15:12:34 2010 +0000
@@ -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;
 }