Commit 9a7a8119 authored by Meador Inge's avatar Meador Inge

Issue #16804: Fix 'python -S -m site' failure.

This commit fixes a bug in the 'site' module that was causing an exception
to incorrectly be thrown when running 'python -S -m site'.  The problem was
that 'USER_BASE' and 'USER_SITE' were being accessed before they were properly
initialized.  The code has been changed to use 'getuserbase' and
'getusersitepackages' instead so that the initialization always happens.
parent 0bfd6acf
...@@ -620,14 +620,16 @@ def _script(): ...@@ -620,14 +620,16 @@ def _script():
""" """
args = sys.argv[1:] args = sys.argv[1:]
if not args: if not args:
user_base = getuserbase()
user_site = getusersitepackages()
print("sys.path = [") print("sys.path = [")
for dir in sys.path: for dir in sys.path:
print(" %r," % (dir,)) print(" %r," % (dir,))
print("]") print("]")
print("USER_BASE: %r (%s)" % (USER_BASE, print("USER_BASE: %r (%s)" % (user_base,
"exists" if os.path.isdir(USER_BASE) else "doesn't exist")) "exists" if os.path.isdir(user_base) else "doesn't exist"))
print("USER_SITE: %r (%s)" % (USER_SITE, print("USER_SITE: %r (%s)" % (user_site,
"exists" if os.path.isdir(USER_SITE) else "doesn't exist")) "exists" if os.path.isdir(user_site) else "doesn't exist"))
print("ENABLE_USER_SITE: %r" % ENABLE_USER_SITE) print("ENABLE_USER_SITE: %r" % ENABLE_USER_SITE)
sys.exit(0) sys.exit(0)
......
...@@ -29,6 +29,9 @@ Core and Builtins ...@@ -29,6 +29,9 @@ Core and Builtins
Library Library
------- -------
- Issue #16804: Fix a bug in the 'site' module that caused running
'python -S -m site' to incorrectly throw an exception.
- Issue #17016: Get rid of possible pointer wraparounds and integer overflows - Issue #17016: Get rid of possible pointer wraparounds and integer overflows
in the re module. Patch by Nickolai Zeldovich. in the re module. Patch by Nickolai Zeldovich.
......
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