Enrico Forestieri wrote:
> On Mon, Mar 21, 2011 at 11:42:30AM +0100, Pavel Sanda wrote:
> 
> > Pavel Sanda wrote:
> > > Vincent van Ravesteijn wrote:
> > > > According to the code: bytes_end = bytes_begin + info.st_size, which 
> > > > would 
> > > > mean info.st_size is 150 MB ?
> > > >
> > > > Is fstat failing in this case, or did you really have a file of 150MB ?
> > > 
> > > and in any case we do not check for return value of fstat, which looks 
> > > wrong.
> > 
> > does this patch help?
> > p
> 
> > diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp
> > index 54c6fc9..7adbfa6 100644
> > --- a/src/support/FileName.cpp
> > +++ b/src/support/FileName.cpp
> > @@ -543,7 +543,9 @@ unsigned long FileName::checksum() const
> >             return result;
> >  
> >     struct stat info;
> > -   fstat(fd, &info);
> > +   if (!fstat(fd, &info))
> > +           return result;
> 
> Hmmm... note that fstat returns zero on success, and -1 on error...

urmmm, Ale, please kill this "!"...
pavel

Reply via email to