Re: [PATCH] tools: fread does not return negative on error

From: roel kluin
Date: Mon Jun 22 2009 - 11:47:26 EST


On Mon, Jun 22, 2009 at 5:34 PM, Ingo Molnar<mingo@xxxxxxx> wrote:
>
> * Roel Kluin <roel.kluin@xxxxxxxxx> wrote:
>
>> size_t res cannot be less than 0. fread returns 0 on error.
>>
>> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
>> ---
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/