From e243bae9999418859106328d9fce71815b7eb2fe Mon Sep 17 00:00:00 2001 From: jsnklln Date: Mon, 18 Nov 2019 14:11:13 -0500 Subject: bpo-38722: Runpy use io.open_code() (GH-17234) https://bugs.python.org/issue38722 Automerge-Triggered-By: @taleinat --- Lib/runpy.py | 5 +++-- Misc/NEWS.d/next/Security/2019-11-18-16-17-56.bpo-38722.x3mECW.rst | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Security/2019-11-18-16-17-56.bpo-38722.x3mECW.rst 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. -- cgit v0.12