summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2008-09-05 23:43:02 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2008-09-05 23:43:02 (GMT)
commit9e4fdf446d284c579190fe57ea9d774357438ffc (patch)
tree7ee39d5735d664b290e65dddcec89cfb8856c5c7
parent791dc2f32c3fb707319d0c8d93d6cde6175d1e01 (diff)
downloadcpython-9e4fdf446d284c579190fe57ea9d774357438ffc.zip
cpython-9e4fdf446d284c579190fe57ea9d774357438ffc.tar.gz
cpython-9e4fdf446d284c579190fe57ea9d774357438ffc.tar.bz2
Merged revisions 66240 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r66240 | antoine.pitrou | 2008-09-06 01:30:23 +0200 (sam., 06 sept. 2008) | 5 lines Issue #3535: zipfile couldn't read some zip files larger than 2GB. Reviewed by Amaury Forgeot d'Arc. ........
-rw-r--r--Lib/zipfile.py6
-rw-r--r--Misc/NEWS7
2 files changed, 10 insertions, 3 deletions
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index 9e96e93..46ec6ef 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -165,6 +165,7 @@ def _EndRecData64(fpin, offset, endrec):
return endrec
# Update the original endrec using data from the ZIP64 record
+ endrec[_ECD_SIGNATURE] = sig
endrec[_ECD_DISK_NUMBER] = disk_num
endrec[_ECD_DISK_START] = disk_dir
endrec[_ECD_ENTRIES_THIS_DISK] = dircount
@@ -733,9 +734,8 @@ class ZipFile:
# "concat" is zero, unless zip was concatenated to another file
concat = endrec[_ECD_LOCATION] - size_cd - offset_cd
- if endrec[_ECD_LOCATION] > ZIP64_LIMIT:
- # If the offset of the "End of Central Dir" record requires Zip64
- # extension structures, account for them
+ if endrec[_ECD_SIGNATURE] == stringEndArchive64:
+ # If Zip64 extension structures are present, account for them
concat -= (sizeEndCentDir64 + sizeEndCentDir64Locator)
if self.debug > 2:
diff --git a/Misc/NEWS b/Misc/NEWS
index 8cc1af0..bc6ede7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -86,6 +86,13 @@ C API
Library
-------
+- Issue #3535: zipfile couldn't read some zip files larger than 2GB.
+
+- Issue #3776: Deprecate the bsddb package for removal in 3.0.
+
+- Issue #3762: platform.architecture() fails if python is lanched via
+ its symbolic link.
+
- Issue #3660: fix a memory leak in the C accelerator of the pickle module.
- Issue #3160: the "bdist_wininst" distutils command didn't work.