[viewvc-dev] [PATCH} fix inf loop in rcsparse
Linas Vepstas <[email protected]> Fri, 21 Nov 2014 12:42:13 -0600
| Newsgroups | gmane.comp.version-control.cvs.viewcvs.devel |
|---|---|
| Message-ID | <CAHrUA365uAqC5YhKkpM71KEzbgHzoyaCadLAxPAG_tyKGnawKg__12539.4955896356$1416597831$gmane$org@mail.gmail.com> |
I hit an inf loop in rcsparse, presumably due to some particular file
in my data being 'just so'. The patch below fixes it: it is simply a
cut-n-paste of a check made a few dozen lines higher up. BTW, I
first tripped over this in cvs2svn, which shares this code with
viewvc.
--- a/trunk/lib/vclib/ccvs/rcsparse/default.py.orig
2014-11-21 12:18:02.880417060 -0600
+++ b/trunk/lib/vclib/ccvs/rcsparse/default.py
2014-11-21 12:26:59.226222392 -0600
@@ -88,6 +88,10 @@ class _TokenStream:
# we stopped at the end of the buffer, so we may have a partial
# token
buf = self.rcsfile.read(self.CHUNK_SIZE)
+ if buf == '':
+ # signal EOF by returning None as the token
+ del self.buf # so we fail if get() is called again
+ return None
lbuf = len(buf)
idx = end = 0
-- linas
------------------------------------------------------
http://viewvc.tigris.org/ds/viewMessage.do?dsForumId=4251&dsMessageId=3091675
To unsubscribe from this discussion, e-mail: [[email protected]].