From e50b0a44cb60f41e2cd8d30c920079a95b5c1965 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 17 Jun 1998 18:34:40 +0000 Subject: [PATCH] In class _Subfile, make sure read(n) can't read beyond EOF. Also allow negative numbers to specify read until EOF (like for a regular file's read() method). --- Lib/mailbox.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/mailbox.py b/Lib/mailbox.py index dd8e5e1dba..0ea4a5811d 100755 --- a/Lib/mailbox.py +++ b/Lib/mailbox.py @@ -46,8 +46,11 @@ class _Subfile: def read(self, length = None): if self.pos >= self.stop: return '' - if length is None: - length = self.stop - self.pos + remaining = self.stop - self.pos + if length is None or length < 0: + length = remaining + elif length > remaining: + length = remaining self.fp.seek(self.pos) self.pos = self.pos + length return self.fp.read(length) -- 2.50.1