diff -r 3a57eafd8401 Objects/typeobject.c --- a/Objects/typeobject.c Tue May 24 09:15:14 2016 +0300 +++ b/Objects/typeobject.c Wed May 25 14:08:28 2016 +0800 @@ -460,7 +460,7 @@ PyErr_Format(PyExc_AttributeError, "__module__"); return 0; } - Py_XINCREF(mod); + Py_INCREF(mod); return mod; } else { @@ -500,7 +500,7 @@ PyErr_SetObject(PyExc_AttributeError, message); return NULL; } - Py_XINCREF(mod); + Py_INCREF(mod); return mod; } @@ -1534,7 +1534,6 @@ PyObject *name = _PyObject_GetAttrId(cls, &PyId___name__); if (name == NULL) { PyErr_Clear(); - Py_XDECREF(name); name = PyObject_Repr(cls); } if (name == NULL) @@ -5776,8 +5775,8 @@ if (args != NULL) { PyTuple_SET_ITEM(args, 0, ival); retval = PyObject_Call(func, args, NULL); - Py_XDECREF(args); - Py_XDECREF(func); + Py_DECREF(args); + Py_DECREF(func); return retval; } }