From: Gregory P. Smith Date: Sun, 23 Mar 2008 23:43:02 +0000 (+0000) Subject: A bugfix for r61813, it would fail if the data size was >=2**32. X-Git-Tag: v2.6a2~143 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac830e932df1fdbdbc1ba928a27db1d321a23fcd;p=thirdparty%2FPython%2Fcpython.git A bugfix for r61813, it would fail if the data size was >=2**32. --- diff --git a/Lib/gzip.py b/Lib/gzip.py index f3cf9febd874..2246c9d6ef9b 100644 --- a/Lib/gzip.py +++ b/Lib/gzip.py @@ -15,10 +15,6 @@ FTEXT, FHCRC, FEXTRA, FNAME, FCOMMENT = 1, 2, 4, 8, 16 READ, WRITE = 1, 2 -def U32(i): - """Return the low-order 32 bits, as a non-negative int or long.""" - return i & 0xFFFFFFFFL - def write32u(output, value): # The L format writes the bit pattern correctly whether signed # or unsigned. @@ -306,7 +302,7 @@ class GzipFile: if crc32 != self.crc: raise IOError("CRC check failed %s != %s" % (hex(crc32), hex(self.crc))) - elif isize != self.size: + elif isize != (self.size & 0xffffffffL): raise IOError, "Incorrect length of data produced" def close(self):