diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c index 38304dda18f..b1704f7be4c 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -216,6 +216,10 @@ tuplerepr(PyTupleObject *v) PyObject *s, *temp; PyObject *pieces, *result = NULL; + n = Py_Size(v); + if (n == 0) + return PyString_FromString("()"); + /* While not mutable, it is still possible to end up with a cycle in a tuple through an object that stores itself within a tuple (and thus infinitely asks for the repr of itself). This should only be @@ -225,10 +229,6 @@ tuplerepr(PyTupleObject *v) return i > 0 ? PyString_FromString("(...)") : NULL; } - n = Py_Size(v); - if (n == 0) - return PyString_FromString("()"); - pieces = PyTuple_New(n); if (pieces == NULL) return NULL;