diff options
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Python/ast.c | 8 |
2 files changed, 7 insertions, 3 deletions
@@ -18,6 +18,8 @@ Core and Builtins should result in PendingDeprecationWarning in 3.5 and in DeprecationWarning in 3.6. +- Issue #26182: Fix ia refleak in code that raises DeprecationWarning. + Library ------- diff --git a/Python/ast.c b/Python/ast.c index fcd1563..bfae6ed 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -944,17 +944,19 @@ forbidden_name(struct compiling *c, identifier name, const node *n, PyObject *message = PyUnicode_FromString( "'async' and 'await' will become reserved keywords" " in Python 3.7"); + int ret; if (message == NULL) { return 1; } - if (PyErr_WarnExplicitObject( + ret = PyErr_WarnExplicitObject( PyExc_DeprecationWarning, message, c->c_filename, LINENO(n), NULL, - NULL) < 0) - { + NULL); + Py_DECREF(message); + if (ret < 0) { return 1; } } |