diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 19e65963d58..317334f739a 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -2575,8 +2575,10 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds) tmp = PyStaticMethod_New(tmp); if (tmp == NULL) goto error; - if (_PyDict_SetItemId(dict, &PyId___new__, tmp) < 0) + if (_PyDict_SetItemId(dict, &PyId___new__, tmp) < 0) { + Py_DECREF(tmp); goto error; + } Py_DECREF(tmp); }