]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.7] bpo-39831: Fix a reference leak in PyErr_WarnEx(). (GH-18750). (GH-18765)
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 8 Mar 2020 16:07:58 +0000 (18:07 +0200)
committerGitHub <noreply@github.com>
Sun, 8 Mar 2020 16:07:58 +0000 (18:07 +0200)
(cherry picked from commit 2d2f85517f8216146a2f888d1ad4d765b3be2339)

Python/_warnings.c

index 1a2035eb250d59eb0fce3766eb52bc61bdfcf2d1..e86a582a01cf44f2137852c923d3d1fddff0e9f3 100644 (file)
@@ -710,7 +710,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
 
         *registry = PyDict_New();
         if (*registry == NULL)
-            goto handle_error;
+            return 0;
 
          rc = PyDict_SetItemString(globals, "__warningregistry__", *registry);
          if (rc < 0)
@@ -802,7 +802,6 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
        dangling reference. */
     Py_XDECREF(*registry);
     Py_XDECREF(*module);
-    Py_XDECREF(*filename);
     return 0;
 }