From: roel kluin Date: Mon, 22 Jun 2009 15:47:07 GMT Subject: Re: [PATCH] tools: fread does not return negative on error Message-ID: <25e057c00906220847t15425f38maf486c291d1d2468@mail.gmail.com> In-Reply-To: <20090622153431.GA18466@elte.hu> On Mon, Jun 22, 2009 at 5:34 PM, Ingo Molnar wrote: > > * Roel Kluin wrote: > >> size_t res cannot be less than 0. fread returns 0 on error. >> >> Signed-off-by: Roel Kluin >> --- >> Is this correct? please review. >> >> diff --git a/tools/perf/util/strbuf.c b/tools/perf/util/strbuf.c >> index eaba093..376a337 100644 >> --- a/tools/perf/util/strbuf.c >> +++ b/tools/perf/util/strbuf.c >> @@ -259,7 +259,7 @@ size_t strbuf_fread(struct strbuf *sb, size_t size, FILE *f) >>       res = fread(sb->buf + sb->len, 1, size, f); >>       if (res > 0) >>               strbuf_setlen(sb, sb->len + res); >> -     else if (res < 0 && oldalloc == 0) >> +     else if (res == 0 && oldalloc == 0) >>               strbuf_release(sb); >>       return res; > > This comes straight from Git's strbuf.c so i've Cc:-ed the Git list. > > Roel, did you get some compiler warning that made you look at this > code? > >        Ingo > No, I use sed to catch these bugs. Roel