Fix ast_error_finish() and err_input(): filename can be NULL

Fix my previous commit (r85569).
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 8c535fd..f72c9d7 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -2054,7 +2054,12 @@
         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);