From 499c926fbeafa7e4c15d925fea27fe8a65cc3b25 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Tue, 3 Mar 2020 01:13:24 +0000 Subject: [PATCH] [3.7] bpo-39831: Fix a reference leak in PyErr_WarnEx(). (GH-18750). (GH-18760) (cherry picked from commit 2d2f85517f8216146a2f888d1ad4d765b3be2339) Co-authored-by: Serhiy Storchaka --- Python/_warnings.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Python/_warnings.c b/Python/_warnings.c index e86a582a01cf..1a2035eb250d 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -710,7 +710,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno, *registry = PyDict_New(); if (*registry == NULL) - return 0; + goto handle_error; rc = PyDict_SetItemString(globals, "__warningregistry__", *registry); if (rc < 0) @@ -802,6 +802,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno, dangling reference. */ Py_XDECREF(*registry); Py_XDECREF(*module); + Py_XDECREF(*filename); return 0; } -- 2.47.3