diff --git a/Python/ast.c b/Python/ast.c index b9beef88ef9..d1aa61640a2 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -131,7 +131,12 @@ ast_error_finish(const char *filename) Py_INCREF(Py_None); loc = Py_None; } - filename_obj = PyUnicode_DecodeFSDefault(filename); + if (filename != NULL) + filename_obj = PyUnicode_DecodeFSDefault(filename); + else { + Py_INCREF(Py_None); + filename_obj = Py_None; + } if (filename_obj != NULL) tmp = Py_BuildValue("(NlOO)", filename_obj, lineno, offset, loc); else diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 8c535fd8a61..f72c9d705af 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -2054,7 +2054,12 @@ err_input(perrdetail *err) errtext = PyUnicode_DecodeUTF8(err->text, strlen(err->text), "replace"); } - filename = PyUnicode_DecodeFSDefault(err->filename); + if (err->filename != NULL) + filename = PyUnicode_DecodeFSDefault(err->filename); + else { + Py_INCREF(Py_None); + filename = Py_None; + } if (filename != NULL) v = Py_BuildValue("(NiiN)", filename, err->lineno, err->offset, errtext);