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]].