diff options
-rw-r--r-- | Lib/runpy.py | 5 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Security/2019-11-18-16-17-56.bpo-38722.x3mECW.rst | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Lib/runpy.py b/Lib/runpy.py index d86f0e4..8adc91e 100644 --- a/Lib/runpy.py +++ b/Lib/runpy.py @@ -13,6 +13,7 @@ importers when locating support scripts as well as when importing modules. import sys import importlib.machinery # importlib first so we can test #15386 via -m import importlib.util +import io import types from pkgutil import read_code, get_importer @@ -228,11 +229,11 @@ def _get_main_module_details(error=ImportError): def _get_code_from_file(run_name, fname): # Check for a compiled file first - with open(fname, "rb") as f: + with io.open_code(fname) as f: code = read_code(f) if code is None: # That didn't work, so try it as normal source code - with open(fname, "rb") as f: + with io.open_code(fname) as f: code = compile(f.read(), fname, 'exec') return code, fname diff --git a/Misc/NEWS.d/next/Security/2019-11-18-16-17-56.bpo-38722.x3mECW.rst b/Misc/NEWS.d/next/Security/2019-11-18-16-17-56.bpo-38722.x3mECW.rst new file mode 100644 index 0000000..0277d3e --- /dev/null +++ b/Misc/NEWS.d/next/Security/2019-11-18-16-17-56.bpo-38722.x3mECW.rst @@ -0,0 +1,2 @@ +:mod:`runpy` now uses :meth:`io.open_code` to open code files. +Patch by Jason Killen. |