From 584977d6cdc671904c1a9fdd597c9403ed7c6725 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 5 Jun 2026 15:43:05 +0200 Subject: [PATCH] gh-146527: Fix memory leak in _PyGC_Fini() (GH-150969) Free generation_stats allocated by _PyGC_Init(). Fix Python/gc.c: Python/gc_free_threading.c was already fixed. (cherry picked from commit 0036565e81b9580d645862bcc6249e2ae4f1fd03) Co-authored-by: Victor Stinner --- Python/gc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Python/gc.c b/Python/gc.c index 54ac1b089e503d0..201c621bcc3cb9b 100644 --- a/Python/gc.c +++ b/Python/gc.c @@ -1876,6 +1876,8 @@ _PyGC_Fini(PyInterpreterState *interp) GCState *gcstate = &interp->gc; Py_CLEAR(gcstate->garbage); Py_CLEAR(gcstate->callbacks); + PyMem_RawFree(gcstate->generation_stats); + gcstate->generation_stats = NULL; /* Prevent a subtle bug that affects sub-interpreters that use basic * single-phase init extensions (m_size == -1). Those extensions cause objects