#15546: Fix GzipFile.peek()'s handling of pathological input data.
This is a backport of changeset 8c07ff7f882f.
This commit is contained in:
parent
f186911e24
commit
fc6e8aabf5
|
@ -367,8 +367,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
|
||||
|
|
|
@ -466,6 +466,9 @@ Library
|
|||
- Issue #15424: Add a __sizeof__ implementation for array objects.
|
||||
Patch by Ludwig Hähne.
|
||||
|
||||
- Issue #15546: Fix handling of pathological input data in the peek() method
|
||||
of the GzipFile class.
|
||||
|
||||
- Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog
|
||||
ended with '\'. Patch by Roger Serwy.
|
||||
|
||||
|
|
Loading…
Reference in New Issue