Fix crash in exec when unicode filename can't be decoded.
I can't think of an easy way to test this behavior. It only occurs
when the file system default encoding and the interpreter default
encoding are different, such that you can open the file but not decode
its name.
diff --git a/Python/ceval.c b/Python/ceval.c
index ffdc75b..9e06302 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -4202,6 +4202,8 @@
else if (PyFile_Check(prog)) {
FILE *fp = PyFile_AsFile(prog);
char *name = PyString_AsString(PyFile_Name(prog));
+ if (name == NULL)
+ return -1;
PyCompilerFlags cf;
cf.cf_flags = 0;
if (PyEval_MergeCompilerFlags(&cf))