diff -r ab500b297900 Objects/typeobject.c --- a/Objects/typeobject.c Mon May 07 13:02:44 2012 +0200 +++ b/Objects/typeobject.c Tue May 08 14:14:31 2012 +0200 @@ -3732,8 +3732,10 @@ add_methods(PyTypeObject *type, PyMethod } if (descr == NULL) return -1; - if (PyDict_SetItemString(dict, meth->ml_name, descr) < 0) + if (PyDict_SetItemString(dict, meth->ml_name, descr) < 0) { + Py_DECREF(descr); return -1; + } Py_DECREF(descr); } return 0;