Kaydet (Commit) e7f27481 authored tarafından Łukasz Langa's avatar Łukasz Langa

Issue #27194: superfluous truncate calls in tarfile.py slow down extraction

Patch by Jason Fried.
üst b5ad5499
...@@ -2150,10 +2150,10 @@ class TarFile(object): ...@@ -2150,10 +2150,10 @@ class TarFile(object):
for offset, size in tarinfo.sparse: for offset, size in tarinfo.sparse:
target.seek(offset) target.seek(offset)
copyfileobj(source, target, size, ReadError) copyfileobj(source, target, size, ReadError)
target.seek(tarinfo.size)
target.truncate()
else: else:
copyfileobj(source, target, tarinfo.size, ReadError) copyfileobj(source, target, tarinfo.size, ReadError)
target.seek(tarinfo.size)
target.truncate()
def makeunknown(self, tarinfo, targetpath): def makeunknown(self, tarinfo, targetpath):
"""Make a file from a TarInfo object with an unknown type """Make a file from a TarInfo object with an unknown type
......
...@@ -458,6 +458,7 @@ Stefan Franke ...@@ -458,6 +458,7 @@ Stefan Franke
Martin Franklin Martin Franklin
Kent Frazier Kent Frazier
Bruce Frederiksen Bruce Frederiksen
Jason Fried
Robin Friedrich Robin Friedrich
Bradley Froehle Bradley Froehle
Ivan Frohne Ivan Frohne
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment