diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-16-24-10.gh-issue-146244.Oztf9i.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-16-24-10.gh-issue-146244.Oztf9i.rst new file mode 100644 index 00000000000000..dfb4410caff626 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-16-24-10.gh-issue-146244.Oztf9i.rst @@ -0,0 +1,2 @@ +Fix memory leak in ``SET_ITEM`` macro in ``initconfig.c`` when expression +evaluation fails diff --git a/Python/initconfig.c b/Python/initconfig.c index caf42f5247c2f2..8dc9602ff13df7 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -511,7 +511,7 @@ _Py_COMP_DIAG_IGNORE_DEPR_DECLS do { \ obj = (EXPR); \ if (obj == NULL) { \ - return NULL; \ + goto fail; \ } \ int res = PyDict_SetItemString(dict, (KEY), obj); \ Py_DECREF(obj); \