From 8ad64aaacc22d68d6d93c3c12f7e67e9962de09b Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Sun, 11 Dec 2005 20:08:33 +0000 Subject: SF #1370197, memory leak - ast_error_finish (in error conditions). --- Python/ast.c | 8 ++++++-- 1 file 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); -- cgit v0.12