Skip to content

Commit c7e4e05

Browse files
committed
inode re-use guard
1 parent 7bd7b85 commit c7e4e05

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

Lib/tarfile.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2410,7 +2410,9 @@ def extractall(self, path=".", members=None, *, numeric_owner=False,
24102410
for tarinfo, dirpath, original_ino, original_dev in directories:
24112411
dirstat = os.stat(dirpath, follow_symlinks=False)
24122412
if (dirstat.st_ino != original_ino or
2413-
dirstat.st_dev != original_dev):
2413+
dirstat.st_dev != original_dev or
2414+
not stat.S_ISDIR(dirstat.st_mode) # just in case the inode was reused
2415+
):
24142416
self._dbg(1, "tarfile: Directory renamed before its " \
24152417
"attributes could be extracted %r" % dirpath)
24162418
continue

0 commit comments

Comments
 (0)