From: Martin v. Löwis Date: Wed, 25 Aug 2004 10:52:58 +0000 (+0000) Subject: Patch #1014992: Never return more than a line from readline. X-Git-Tag: v2.4a3~127 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c11d6f13ae2f83702f7ed8a26618eb378918c881;p=python Patch #1014992: Never return more than a line from readline. Will backport to 2.3. --- diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 2d5bf642ae..06d859087b 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -509,14 +509,12 @@ class ExFileObject(object): nl = min(nl, size) else: size -= len(self.linebuffer) - while nl < 0: + while (nl < 0 and size > 0): buf = self.read(min(size, 100)) if not buf: break self.linebuffer += buf size -= len(buf) - if size <= 0: - break nl = self.linebuffer.find("\n") if nl == -1: s = self.linebuffer