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: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5967bf49285f1d4c086d0d97db64c07e79b482d2;p=thirdparty%2FPython%2Fcpython.git Issue #18408: Fix PyType_Ready(), handle _PyDict_SetItemId() failure --- diff --git a/Objects/typeobject.c b/Objects/typeobject.c index f311af8f25bb..c970ada1df08 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; } }