summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/tarfile.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index ba5a1d2..ff9f51f 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1137,7 +1137,11 @@ class TarFile(object):
tarinfo.mode = stmd
tarinfo.uid = statres.st_uid
tarinfo.gid = statres.st_gid
- tarinfo.size = not stat.S_ISDIR(stmd) and statres.st_size or 0
+ if stat.S_ISDIR(stmd):
+ # For a directory, the size must be 0
+ tarinfo.size = 0
+ else:
+ tarinfo.size = statres.st_size
tarinfo.mtime = statres.st_mtime
tarinfo.type = type
tarinfo.linkname = linkname