From: Victor Stinner Date: Wed, 17 Jul 2013 20:01:37 +0000 (+0200) Subject: Issue #18408: Fix PyType_Ready(), handle _PyDict_SetItemId() failure X-Git-Tag: v3.4.0a1~162 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5967bf49285f1d4c086d0d97db64c07e79b482d2;p=python Issue #18408: Fix PyType_Ready(), handle _PyDict_SetItemId() failure --- diff --git a/Objects/typeobject.c b/Objects/typeobject.c index f311af8f25..c970ada1df 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -4256,11 +4256,15 @@ PyType_Ready(PyTypeObject *type) 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; } }