(original) (raw)

changeset: 84697:c2d90ff0780c user: Victor Stinner victor.stinner@gmail.com date: Wed Jul 17 22:01:37 2013 +0200 files: Objects/typeobject.c description: Issue #18408: Fix PyType_Ready(), handle _PyDict_SetItemId() failure diff -r 2f5f1db8eb88 -r c2d90ff0780c Objects/typeobject.c --- a/Objects/typeobject.c Wed Jul 17 21:58:41 2013 +0200 +++ b/Objects/typeobject.c Wed Jul 17 22:01:37 2013 +0200 @@ -4256,11 +4256,15 @@ PyObject *doc = PyUnicode_FromString(type->tp_doc); if (doc == NULL) goto error; - _PyDict_SetItemId(type->tp_dict, &PyId___doc__, doc); + if (_PyDict_SetItemId(type->tp_dict, &PyId___doc__, doc) < 0) { + Py_DECREF(doc); + goto error; + } Py_DECREF(doc); } else { - _PyDict_SetItemId(type->tp_dict, - &PyId___doc__, Py_None); + if (_PyDict_SetItemId(type->tp_dict, + &PyId___doc__, Py_None) < 0) + goto error; } } /victor.stinner@gmail.com