bpo-25083: Python can sometimes create incorrect .pyc files (GH-8449)
Python 2 never checked for I/O error when reading .py files and
thus could mistake an I/O error for EOF and create incorrect .pyc
files.
This adds an check for this and aborts on an error.
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 5707c9f..2c9f55f 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -1654,6 +1654,9 @@
Py_XDECREF(tb);
break;
}
+ case E_IO:
+ msg = "I/O error while reading";
+ break;
case E_LINECONT:
msg = "unexpected character after line continuation character";
break;