summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_imp.py3
-rw-r--r--Parser/tokenizer.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py
index d745ae9..6f5b06a 100644
--- a/Lib/test/test_imp.py
+++ b/Lib/test/test_imp.py
@@ -170,6 +170,9 @@ class ImportTests(unittest.TestCase):
support.unlink(init_file_name + ext)
support.rmtree(test_package_name)
+ def test_issue9319(self):
+ imp.find_module("test/badsyntax_pep3120")
+
class ReloadTests(unittest.TestCase):
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 3f6be2f..5ba12a4 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -586,7 +586,10 @@ decoding_fgets(char *s, int size, struct tok_state *tok)
if (badchar) {
/* Need to add 1 to the line number, since this line
has not been counted, yet. */
- filename = PyUnicode_DecodeFSDefault(tok->filename);
+ if (tok->filename != NULL)
+ filename = PyUnicode_DecodeFSDefault(tok->filename);
+ else
+ filename = PyUnicode_FromString("<file>");
if (filename != NULL) {
PyErr_Format(PyExc_SyntaxError,
"Non-UTF-8 code starting with '\\x%.2x' "