Skip to content

Commit 2d2f855

Browse files
bpo-39831: Fix a reference leak in PyErr_WarnEx(). (GH-18750)
1 parent 89aa469 commit 2d2f855

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Python/_warnings.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -859,11 +859,11 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
859859
int rc;
860860

861861
if (PyErr_Occurred()) {
862-
return 0;
862+
goto handle_error;
863863
}
864864
*registry = PyDict_New();
865865
if (*registry == NULL)
866-
return 0;
866+
goto handle_error;
867867

868868
rc = _PyDict_SetItemId(globals, &PyId___warningregistry__, *registry);
869869
if (rc < 0)
@@ -893,6 +893,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
893893
dangling reference. */
894894
Py_XDECREF(*registry);
895895
Py_XDECREF(*module);
896+
Py_XDECREF(*filename);
896897
return 0;
897898
}
898899

0 commit comments

Comments
 (0)