Re: [viewvc-dev] [PATCH} fix inf loop in rcsparse
"C. Michael Pilato" <[email protected]> Fri, 21 Nov 2014 15:18:16 -0500
| Newsgroups | gmane.comp.version-control.cvs.viewcvs.devel |
|---|---|
| Organization | CollabNet, Inc. |
| Message-ID | <546F9E08.8050901__32545.1322518804$1416601111$gmane$org@collab.net> |
On 11/21/2014 01:42 PM, Linas Vepstas wrote: > 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 Thanks for the patch. I've committed it to our trunk, and backported to the 1.1.x branch, too. ------------------------------------------------------ http://viewvc.tigris.org/ds/viewMessage.do?dsForumId=4251&dsMessageId=3091678 To unsubscribe from this discussion, e-mail: [[email protected]].