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