bpo-39899: Don't double-check directory name if we're requesting the current user's home directory in ntpath.expanduser() (GH-25277)

This commit is contained in:
Barney Gale 2021-04-09 22:28:15 +01:00 committed by GitHub
parent 11c3bd3f6d
commit ba1db57198
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 8 deletions

View File

@ -313,18 +313,19 @@ def expanduser(path):
userhome = join(drive, os.environ['HOMEPATH'])
if i != 1: #~user
# Try to guess user home directory. By default all users directories
# are located in the same place and are named by corresponding
# usernames. If current user home directory points to nonstandard
# place, this guess is likely wrong, and so we bail out.
current_user = os.environ.get('USERNAME')
if current_user != basename(userhome):
return path
target_user = path[1:i]
if isinstance(target_user, bytes):
target_user = os.fsdecode(target_user)
current_user = os.environ.get('USERNAME')
if target_user != current_user:
# Try to guess user home directory. By default all user
# profile directories are located in the same place and are
# named by corresponding usernames. If userhome isn't a
# normal profile directory, this guess is likely wrong,
# so we bail out.
if current_user != basename(userhome):
return path
userhome = join(dirname(userhome), target_user)
if isinstance(path, bytes):