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: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a00064576ac9365f1c619a632348b08a894b4395;p=thirdparty%2FPython%2Fcpython.git ceval.c: catch recursion error on _PyUnicode_AsString(co->co_filename) --- diff --git a/Python/ceval.c b/Python/ceval.c index 48b567865296..f85f33ad02ed 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