Commit c5ceb251 authored by Jeremy Hylton's avatar Jeremy Hylton

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.
parent 7218c2d2
...@@ -121,6 +121,7 @@ Core and builtins ...@@ -121,6 +121,7 @@ Core and builtins
- with and as are now keywords. - with and as are now keywords.
- Bug #1664966: Fix crash in exec if Unicode filename can't be decoded.
Library Library
------- -------
......
...@@ -4202,6 +4202,8 @@ exec_statement(PyFrameObject *f, PyObject *prog, PyObject *globals, ...@@ -4202,6 +4202,8 @@ exec_statement(PyFrameObject *f, PyObject *prog, PyObject *globals,
else if (PyFile_Check(prog)) { else if (PyFile_Check(prog)) {
FILE *fp = PyFile_AsFile(prog); FILE *fp = PyFile_AsFile(prog);
char *name = PyString_AsString(PyFile_Name(prog)); char *name = PyString_AsString(PyFile_Name(prog));
if (name == NULL)
return -1;
PyCompilerFlags cf; PyCompilerFlags cf;
cf.cf_flags = 0; cf.cf_flags = 0;
if (PyEval_MergeCompilerFlags(&cf)) if (PyEval_MergeCompilerFlags(&cf))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment