diff --git a/Modules/_testinternalcapi.c b/Modules/_testinternalcapi.c index 16be593763bf667..5b5516046fff407 100644 --- a/Modules/_testinternalcapi.c +++ b/Modules/_testinternalcapi.c @@ -1182,8 +1182,9 @@ record_eval(PyThreadState *tstate, struct _PyInterpreterFrame *f, int exc) assert(module != NULL); module_state *state = get_module_state(module); Py_DECREF(module); - int res = PyList_Append(state->record_list, - FT_ATOMIC_LOAD_PTR_ACQUIRE(func->func_name)); + PyObject *name = Py_NewRef(FT_ATOMIC_LOAD_PTR_ACQUIRE(func->func_name)); + int res = PyList_Append(state->record_list, name); + Py_DECREF(name); if (res < 0) { return NULL; } @@ -1244,8 +1245,9 @@ record_eval_interp(PyThreadState *tstate, struct _PyInterpreterFrame *f, int exc assert(module != NULL); module_state *state = get_module_state(module); Py_DECREF(module); - int res = PyList_Append(state->record_list, - FT_ATOMIC_LOAD_PTR_ACQUIRE(func->func_name)); + PyObject *name = Py_NewRef(FT_ATOMIC_LOAD_PTR_ACQUIRE(func->func_name)); + int res = PyList_Append(state->record_list, name); + Py_DECREF(name); if (res < 0) { return NULL; }