From: Pablo Galindo Date: Tue, 3 Mar 2020 01:13:24 +0000 (+0000) Subject: [3.7] bpo-39831: Fix a reference leak in PyErr_WarnEx(). (GH-18750). (GH-18760) X-Git-Tag: v3.7.7rc1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=499c926fbeafa7e4c15d925fea27fe8a65cc3b25;p=thirdparty%2FPython%2Fcpython.git [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 --- 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; }