]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39899: Don't double-check directory name if we're requesting the current user...
authorBarney Gale <barney.gale@gmail.com>
Fri, 9 Apr 2021 21:28:15 +0000 (22:28 +0100)
committerGitHub <noreply@github.com>
Fri, 9 Apr 2021 21:28:15 +0000 (22:28 +0100)
Lib/ntpath.py

index 421db50a3b7f56947229b63409c81348d0ac6a9e..5ae8079074cd91e90281beb6f3886a05358910f2 100644 (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):