Skip to content

Commit 7fc4b78

Browse files
author
Forest
committed
imaplib: read/readline: save multipart buffer tail
For resilience if read() or readline() ever complete with more than one bytes object remaining in the buffer. This is not expected to happen, but it seems wise to be prepared for a future change making it possible.
1 parent a47bcb4 commit 7fc4b78

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

Lib/imaplib.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ def read(self, size):
359359

360360
if len(buf) >= size:
361361
parts.append(buf[:size])
362-
self._readbuf = [buf[size:]]
362+
self._readbuf = [buf[size:]] + self._readbuf[len(parts):]
363363
break
364364
parts.append(buf)
365365
size -= len(buf)
@@ -389,7 +389,7 @@ def readline(self):
389389
if pos != -1:
390390
pos += 1
391391
parts.append(buf[:pos])
392-
self._readbuf = [buf[pos:]]
392+
self._readbuf = [buf[pos:]] + self._readbuf[len(parts):]
393393
break
394394
parts.append(buf)
395395
length += len(buf)

0 commit comments

Comments
 (0)