Re: [viewvc-dev] [PATCH} fix inf loop in rcsparse
Linas Vepstas <[email protected]> Fri, 21 Nov 2014 14:29:48 -0600
| Newsgroups | gmane.comp.version-control.cvs.viewcvs.devel |
|---|---|
| Message-ID | <CAHrUA34TwrYrTbaLmvH4X=gEK+iXvRrUaZGdutyozqYrzRW+oQ@mail.gmail.com> |
Welcome. When my job ran 24 hours, I said to myself 'no way my repo is that big'. :-) On Fri, Nov 21, 2014 at 2:18 PM, C. Michael Pilato <[email protected]> wrote: > 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=3091679 To unsubscribe from this discussion, e-mail: [[email protected]].