From ea4cc585cd12ed73e5fe9978f943ceff5bb5cd51 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Thu, 16 Oct 2025 13:04:04 +0200 Subject: [PATCH] gh-139817: Fix refleak in TypeAliasType(qualname=non_string) (GH-140197) --- Objects/typevarobject.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Objects/typevarobject.c b/Objects/typevarobject.c index 8a3a1e983458..75a69d4bc3e0 100644 --- a/Objects/typevarobject.c +++ b/Objects/typevarobject.c @@ -2123,11 +2123,6 @@ typealias_new_impl(PyTypeObject *type, PyObject *name, PyObject *value, return NULL; } - PyObject *module = caller(); - if (module == NULL) { - return NULL; - } - if (qualname == NULL || qualname == Py_None) { // If qualname was not set directly, we use name instead. qualname = name; @@ -2138,6 +2133,11 @@ typealias_new_impl(PyTypeObject *type, PyObject *name, PyObject *value, } } + PyObject *module = caller(); + if (module == NULL) { + return NULL; + } + PyObject *ta = (PyObject *)typealias_alloc( name, qualname, checked_params, NULL, value, module); Py_DECREF(module); -- 2.47.3