summaryrefslogtreecommitdiffstats
path: root/Python/ast.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/ast.c')
-rw-r--r--Python/ast.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Python/ast.c b/Python/ast.c
index 2250683..89ec217 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -179,8 +179,10 @@ ast_error_finish(const char *filename)
return;
Py_INCREF(errstr);
lineno = PyInt_AsLong(PyTuple_GetItem(value, 1));
- if (lineno == -1)
+ if (lineno == -1) {
+ Py_DECREF(errstr);
return;
+ }
Py_DECREF(value);
loc = PyErr_ProgramText(filename, lineno);
@@ -190,8 +192,10 @@ ast_error_finish(const char *filename)
}
tmp = Py_BuildValue("(ziOO)", filename, lineno, Py_None, loc);
Py_DECREF(loc);
- if (!tmp)
+ if (!tmp) {
+ Py_DECREF(errstr);
return;
+ }
value = Py_BuildValue("(OO)", errstr, tmp);
Py_DECREF(errstr);
Py_DECREF(tmp);