mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
Merged revisions 65659,65693,65700,65702,65706-65707,65761 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r65659 | martin.v.loewis | 2008-08-12 15:45:21 -0500 (Tue, 12 Aug 2008) | 2 lines Add Hirokazu Yamamoto. ........ r65693 | georg.brandl | 2008-08-15 13:35:09 -0500 (Fri, 15 Aug 2008) | 2 lines #3558: Attribute reference binds more tightly than subscription and call. ........ r65700 | antoine.pitrou | 2008-08-15 16:03:21 -0500 (Fri, 15 Aug 2008) | 3 lines #2676: email/message.py [Message.get_content_type]: Trivial regex hangs on pathological input ........ r65702 | gregory.p.smith | 2008-08-15 18:14:00 -0500 (Fri, 15 Aug 2008) | 2 lines document that waitpid raises OSError ........ r65706 | benjamin.peterson | 2008-08-15 22:02:41 -0500 (Fri, 15 Aug 2008) | 1 line fix markup ........ r65707 | benjamin.peterson | 2008-08-15 22:13:07 -0500 (Fri, 15 Aug 2008) | 1 line note how os.utime should be used for emulating touch ........ r65761 | antoine.pitrou | 2008-08-17 08:06:29 -0500 (Sun, 17 Aug 2008) | 3 lines fix ZipFile.testzip() to work with very large embedded files ........
This commit is contained in:
parent
9209138ff9
commit
4cd6a95dfe
6 changed files with 40 additions and 20 deletions
|
@ -813,9 +813,14 @@ class ZipFile:
|
|||
|
||||
def testzip(self):
|
||||
"""Read all the files and check the CRC."""
|
||||
chunk_size = 2 ** 20
|
||||
for zinfo in self.filelist:
|
||||
try:
|
||||
self.read(zinfo.filename) # Check CRC-32
|
||||
# Read by chunks, to avoid an OverflowError or a
|
||||
# MemoryError with very large embedded files.
|
||||
f = self.open(zinfo.filename, "r")
|
||||
while f.read(chunk_size): # Check CRC-32
|
||||
pass
|
||||
except BadZipfile:
|
||||
return zinfo.filename
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue