#15546: Also fix GzipFile.peek().

This commit is contained in:
Nadeem Vawda 2012-08-05 14:45:41 +02:00
parent e3ded955f3
commit 043540088a
2 changed files with 6 additions and 4 deletions

View File

@ -413,8 +413,10 @@ class GzipFile(io.BufferedIOBase):
if self.fileobj is None:
return b''
try:
# 1024 is the same buffering heuristic used in read()
self._read(max(n, 1024))
# Ensure that we don't return b"" if we haven't reached EOF.
while self.extrasize == 0:
# 1024 is the same buffering heuristic used in read()
self._read(max(n, 1024))
except EOFError:
pass
offset = self.offset - self.extrastart

View File

@ -81,8 +81,8 @@ Library
constructor, objects in the ipaddress module no longer implement __index__
(they still implement __int__ as appropriate)
- Issue #15546: Fix handling of pathological input data in the read1() method of
the BZ2File, GzipFile and LZMAFile classes.
- Issue #15546: Fix handling of pathological input data in the peek() and
read1() methods of the BZ2File, GzipFile and LZMAFile classes.
- Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog
ended with '\'. Patch by Roger Serwy.