diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c index 14ab53fca22..839667ad6f1 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -737,8 +737,10 @@ tuple_subtype_new(PyTypeObject *type, PyObject *iterable) return NULL; assert(PyTuple_Check(tmp)); newobj = type->tp_alloc(type, n = PyTuple_GET_SIZE(tmp)); - if (newobj == NULL) + if (newobj == NULL) { + Py_DECREF(tmp); return NULL; + } for (i = 0; i < n; i++) { item = PyTuple_GET_ITEM(tmp, i); Py_INCREF(item);