diff options
Diffstat (limited to 'contrib/tools/python3/Lib/zipfile/__init__.py')
-rw-r--r-- | contrib/tools/python3/Lib/zipfile/__init__.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/tools/python3/Lib/zipfile/__init__.py b/contrib/tools/python3/Lib/zipfile/__init__.py index 91358156bc..cf71c6dba2 100644 --- a/contrib/tools/python3/Lib/zipfile/__init__.py +++ b/contrib/tools/python3/Lib/zipfile/__init__.py @@ -295,7 +295,7 @@ def _EndRecData(fpin): fpin.seek(-sizeEndCentDir, 2) except OSError: return None - data = fpin.read() + data = fpin.read(sizeEndCentDir) if (len(data) == sizeEndCentDir and data[0:4] == stringEndArchive and data[-2:] == b"\000\000"): @@ -315,9 +315,9 @@ def _EndRecData(fpin): # record signature. The comment is the last item in the ZIP file and may be # up to 64K long. It is assumed that the "end of central directory" magic # number does not appear in the comment. - maxCommentStart = max(filesize - (1 << 16) - sizeEndCentDir, 0) + maxCommentStart = max(filesize - ZIP_MAX_COMMENT - sizeEndCentDir, 0) fpin.seek(maxCommentStart, 0) - data = fpin.read() + data = fpin.read(ZIP_MAX_COMMENT + sizeEndCentDir) start = data.rfind(stringEndArchive) if start >= 0: # found the magic number; attempt to unpack and interpret |