bpo-32137: The repr of deeply nested dict now raises a RecursionError (#4570)

instead of crashing due to a stack overflow.

This perhaps will fix similar problems in other extension types.
This commit is contained in:
Serhiy Storchaka 2017-12-03 22:12:11 +02:00 committed by GitHub
parent eea3cc1ef0
commit 1fb72d2ad2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 26 additions and 9 deletions

View file

@ -364,10 +364,7 @@ list_repr(PyListObject *v)
goto error;
}
if (Py_EnterRecursiveCall(" while getting the repr of a list"))
goto error;
s = PyObject_Repr(v->ob_item[i]);
Py_LeaveRecursiveCall();
if (s == NULL)
goto error;