summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Objects/typeobject.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 97a94a7640..856a4a5f38 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++;
}