From 72f29dc704812aa846b10323a31743d6df37cc2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maurycy=20Paw=C5=82owski-Wiero=C5=84ski?= Date: Mon, 4 May 2026 15:45:31 +0200 Subject: [PATCH] gh-147998: Fix possible memory leak in _pop_preserved (crossinterp.c) (GH-147999) --- .../2026-04-02-13-25-09.gh-issue-147998.wnzkRT.rst | 3 +++ Python/crossinterp.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2026-04-02-13-25-09.gh-issue-147998.wnzkRT.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-02-13-25-09.gh-issue-147998.wnzkRT.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-02-13-25-09.gh-issue-147998.wnzkRT.rst new file mode 100644 index 00000000000..e83d9929eae --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-02-13-25-09.gh-issue-147998.wnzkRT.rst @@ -0,0 +1,3 @@ +Fixed a memory leak in interpreter helper calls so cleanup works when an +operation falls across interpreter boundaries. Patch by Maurycy +Pawłowski-Wieroński. diff --git a/Python/crossinterp.c b/Python/crossinterp.c index 4cd4b32ef90..6b489bf03f8 100644 --- a/Python/crossinterp.c +++ b/Python/crossinterp.c @@ -3006,7 +3006,7 @@ _pop_preserved(_PyXI_session *session, *p_xidata = NULL; } else { - _PyXI_namespace *xidata = _create_sharedns(session->_preserved); + xidata = _create_sharedns(session->_preserved); if (xidata == NULL) { failure.code = _PyXI_ERR_PRESERVE_FAILURE; goto error;