From: Gregory P. Smith Date: Sat, 19 Jan 2008 23:16:01 +0000 (+0000) Subject: backport r60116 - fix zipfile to work with archives having file X-Git-Tag: v2.5.2c1~66 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1cc98af8a1b6689e05f94938ca3a607dccee9e4c;p=python backport r60116 - fix zipfile to work with archives having file headers beyond the signed 2**31 byte boundary. --- diff --git a/Lib/zipfile.py b/Lib/zipfile.py index 3c7b431015..ad25d5a43b 100644 --- a/Lib/zipfile.py +++ b/Lib/zipfile.py @@ -32,9 +32,9 @@ ZIP_DEFLATED = 8 # Other ZIP compression methods not supported # Here are some struct module formats for reading headers -structEndArchive = "<4s4H2lH" # 9 items, end of archive, 22 bytes +structEndArchive = "<4s4H2LH" # 9 items, end of archive, 22 bytes stringEndArchive = "PK\005\006" # magic number for end of archive record -structCentralDir = "<4s4B4HlLL5HLl"# 19 items, central directory, 46 bytes +structCentralDir = "<4s4B4HlLL5HLL"# 19 items, central directory, 46 bytes stringCentralDir = "PK\001\002" # magic number for central directory structFileHeader = "<4s2B4HlLL2H" # 12 items, file header record, 30 bytes stringFileHeader = "PK\003\004" # magic number for file header diff --git a/Misc/NEWS b/Misc/NEWS index 294ab87282..984a692ea8 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -53,6 +53,9 @@ Core and builtins Library ------- +- #1189216: Fix the zipfile module to work on archives with headers + past the 2**31 byte boundary. + - Issue #1336: fix a race condition in subprocess.Popen if the garbage collector kicked in at the wrong time that would cause the process to hang when the child wrote to stderr.