From: Victor Stinner Date: Wed, 13 Oct 2010 10:48:55 +0000 (+0000) Subject: ceval.c: catch recursion error on _PyUnicode_AsString(co->co_filename) X-Git-Tag: v3.2a4~637 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a00064576ac9365f1c619a632348b08a894b4395;p=python ceval.c: catch recursion error on _PyUnicode_AsString(co->co_filename) --- diff --git a/Python/ceval.c b/Python/ceval.c index 48b5678652..f85f33ad02 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1232,6 +1232,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) PyObject *error_type, *error_value, *error_traceback; PyErr_Fetch(&error_type, &error_value, &error_traceback); filename = _PyUnicode_AsString(co->co_filename); + if (filename == NULL && tstate->overflowed) { + /* maximum recursion depth exceeded */ + goto exit_eval_frame; + } PyErr_Restore(error_type, error_value, error_traceback); } #endif