diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 97a94a76409..856a4a5f386 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -2093,8 +2093,10 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds) PyUnicode_CompareWithASCIIString(tmp, "__weakref__") == 0)) continue; tmp =_Py_Mangle(name, tmp); - if (!tmp) + if (!tmp) { + Py_DECREF(newslots); goto bad_slots; + } PyList_SET_ITEM(newslots, j, tmp); j++; }