diff -r 75dc64c8c22b Objects/typeobject.c --- a/Objects/typeobject.c Wed Jun 01 08:17:27 2016 +0000 +++ b/Objects/typeobject.c Sun Jun 05 13:07:21 2016 +0800 @@ -2580,8 +2580,10 @@ 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); }