From a00064576ac9365f1c619a632348b08a894b4395 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 13 Oct 2010 10:48:55 +0000 Subject: [PATCH] ceval.c: catch recursion error on _PyUnicode_AsString(co->co_filename) --- Python/ceval.c | 4 ++++ 1 file changed, 4 insertions(+) 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 -- 2.49.0