From: Andrew M. Kuchling Date: Thu, 9 Jun 2005 14:22:07 +0000 (+0000) Subject: [Bug #1074261, patch #1074381] Restrict the size of chunks read from the file in... X-Git-Tag: v2.4.2c1~194 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=216eed577777950422009b70e4440b3564648966;p=thirdparty%2FPython%2Fcpython.git [Bug #1074261, patch #1074381] Restrict the size of chunks read from the file in order to avoid overflow or huge memory consumption. Patch by Mark Eichin --- diff --git a/Lib/gzip.py b/Lib/gzip.py index 5f638c4e6d4e..cec8c0eead1e 100644 --- a/Lib/gzip.py +++ b/Lib/gzip.py @@ -55,6 +55,7 @@ class GzipFile: """ myfileobj = None + max_read_chunk = 10 * 1024 * 1024 def __init__(self, filename=None, mode=None, compresslevel=9, fileobj=None): @@ -215,14 +216,14 @@ class GzipFile: try: while True: self._read(readsize) - readsize = readsize * 2 + readsize = min(self.max_read_chunk, readsize * 2) except EOFError: size = self.extrasize else: # just get some more of it try: while size > self.extrasize: self._read(readsize) - readsize = readsize * 2 + readsize = min(self.max_read_chunk, readsize * 2) except EOFError: if size > self.extrasize: size = self.extrasize