From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 5 Jul 2024 06:59:06 +0000 (+0200) Subject: [3.12] gh-121390: tracemalloc: Fix tracebacks memory leak (GH-121391) (#121393) X-Git-Tag: v3.12.5~133 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e542f9a46a06247eafb5bc651fa06f3aaaad5eb;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-121390: tracemalloc: Fix tracebacks memory leak (GH-121391) (#121393) gh-121390: tracemalloc: Fix tracebacks memory leak (GH-121391) The tracemalloc_tracebacks hash table has traceback keys and NULL values, but its destructors do not reflect this -- key_destroy_func is NULL while value_destroy_func is raw_free. Swap these to free the traceback keys instead. (cherry picked from commit db39bc42f90c151b298f97b780e62703adbf1221) Co-authored-by: Josh Brobst --- diff --git a/Python/tracemalloc.c b/Python/tracemalloc.c index bc7656235222..e13064bd145e 100644 --- a/Python/tracemalloc.c +++ b/Python/tracemalloc.c @@ -836,7 +836,7 @@ _PyTraceMalloc_Init(void) tracemalloc_tracebacks = hashtable_new(hashtable_hash_traceback, hashtable_compare_traceback, - NULL, raw_free); + raw_free, NULL); tracemalloc_traces = tracemalloc_create_traces_table(); tracemalloc_domains = tracemalloc_create_domains_table();