diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-10-10-00-49-35.gh-issue-104584.z94TuJ.rst b/Misc/NEWS.d/next/Core and Builtins/2023-10-10-00-49-35.gh-issue-104584.z94TuJ.rst new file mode 100644 index 00000000000..5164c73aad1 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2023-10-10-00-49-35.gh-issue-104584.z94TuJ.rst @@ -0,0 +1 @@ +Fix a reference leak when running with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>` enabled. diff --git a/Objects/funcobject.c b/Objects/funcobject.c index 231a9c141d0..e8ad486150d 100644 --- a/Objects/funcobject.c +++ b/Objects/funcobject.c @@ -288,7 +288,7 @@ _PyFunction_LookupByVersion(uint32_t version) PyFunctionObject *func = interp->func_state.func_version_cache[ version % FUNC_VERSION_CACHE_SIZE]; if (func != NULL && func->func_version == version) { - return (PyFunctionObject *)Py_NewRef(func); + return func; } return NULL; }