Merge pull request #2688 from StarfishStorage/fix_2684

Fix problem that may happen after interrupted chunk-encoding request
This commit is contained in:
Benoit Chesneau 2024-08-07 00:24:46 +02:00 committed by GitHub
commit 52234e7b32
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -67,7 +67,10 @@ class ChunkedReader(object):
# Remove \r\n after chunk # Remove \r\n after chunk
rest = rest[size:] rest = rest[size:]
while len(rest) < 2: while len(rest) < 2:
rest += unreader.read() new_data = unreader.read()
if not new_data:
break
rest += new_data
if rest[:2] != b'\r\n': if rest[:2] != b'\r\n':
raise ChunkMissingTerminator(rest[:2]) raise ChunkMissingTerminator(rest[:2])
(size, rest) = self.parse_chunk_size(unreader, data=rest[2:]) (size, rest) = self.parse_chunk_size(unreader, data=rest[2:])