Mercurial > hg > hg-fastimport
changeset 13:9c7d88b94b08
Don't blow up or go into an infinite loop on seeing EOF after "data".
(Patch from rev 55.1.1 of http://bazaar.launchpad.net/~bzr/bzr-fastimport/fastimport.dev
by James Westby <jw+debian@jameswestby.net>).
| author | Greg Ward <greg-hg@gerg.ca> |
|---|---|
| date | Thu, 02 Apr 2009 17:14:03 -0400 |
| parents | 987d1e08bec5 |
| children | f6f0fd01b34a |
| files | fastimport/parser.py |
| diffstat | 1 files changed, 7 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/fastimport/parser.py Thu Apr 02 16:37:14 2009 -0400 +++ b/fastimport/parser.py Thu Apr 02 17:14:03 2009 -0400 @@ -433,14 +433,13 @@ return self.read_until(rest[2:]) else: size = int(rest) - res = self.read_bytes(size) - # consume extra LF if present - while True: - line = self.next_line() - if line != '': - self.push_line(line) - break - return res + result = self.read_bytes(size) + # optional LF after data. + next = self.input.readline() + self.lineno += 1 + if len(next) > 1 or next != "\n": + self.push_line(next) + return result else: self.abort(errors.MissingSection, required_for, section)
