From: Sergey Miryanov Date: Mon, 10 Nov 2025 16:19:13 +0000 (+0500) Subject: GH-141212: Fix possible memory leak in gc_mark_span_push (gh-141213) X-Git-Tag: v3.15.0a2~121 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f835552946e29ec20144c359b8822f9e421d4d64;p=thirdparty%2FPython%2Fcpython.git GH-141212: Fix possible memory leak in gc_mark_span_push (gh-141213) --- diff --git a/Python/gc_free_threading.c b/Python/gc_free_threading.c index f39793c3eeb5..b183062eff79 100644 --- a/Python/gc_free_threading.c +++ b/Python/gc_free_threading.c @@ -675,10 +675,11 @@ gc_mark_span_push(gc_span_stack_t *ss, PyObject **start, PyObject **end) else { ss->capacity *= 2; } - ss->stack = (gc_span_t *)PyMem_Realloc(ss->stack, ss->capacity * sizeof(gc_span_t)); - if (ss->stack == NULL) { + gc_span_t *new_stack = (gc_span_t *)PyMem_Realloc(ss->stack, ss->capacity * sizeof(gc_span_t)); + if (new_stack == NULL) { return -1; } + ss->stack = new_stack; } assert(end > start); ss->stack[ss->size].start = start;