Skip to content

Commit 9d94cc9

Browse files
committed
Only perform path separator replacement at lstat callsite
1 parent 4621b22 commit 9d94cc9

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

Lib/tarfile.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2438,7 +2438,7 @@ def extractall(self, path=".", members=None, *, numeric_owner=False,
24382438
continue
24392439
dirpath = os.path.join(path, tarinfo.name)
24402440
try:
2441-
lstat = os.lstat(dirpath)
2441+
lstat = os.lstat(dirpath.replace(r'/', os.sep))
24422442
except FileNotFoundError:
24432443
self._log_no_directory_fixup(tarinfo, 'missing')
24442444
continue
@@ -2489,9 +2489,7 @@ def _get_extract_tarinfo(self, member, filter_function, path):
24892489
unfiltered = self.getmember(member)
24902490
else:
24912491
unfiltered = member
2492-
2493-
if os.sep != r'/':
2494-
unfiltered.path = unfiltered.path.replace(r'/', os.sep)
2492+
24952493
filtered = None
24962494
try:
24972495
filtered = filter_function(unfiltered, path)

0 commit comments

Comments
 (0)