Re: [PATCH] Fix some sparse warnings
- From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
- Date
- Jul 20, 2013, 19:26 UTC
- Message-ID
- <51EAE463.4010705@ramsay1.demon.co.uk>
- In-Reply-To
- <20130718203640.GB15735@sigill.intra.peff.net>
Jeff King wrote:
Show 14 quoted lines
> On Thu, Jul 18, 2013 at 09:25:50PM +0100, Ramsay Jones wrote:
>
>> Sparse issues some "Using plain integer as NULL pointer" warnings.
>> Each warning relates to the use of an '{0}' initialiser expression
>> in the declaration of an 'struct object_info'. The first field of
>> this structure has pointer type. Thus, in order to suppress these
>> warnings, we replace the initialiser expression with '{NULL}'.
>>
>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
>
> Acked-by: Jeff King <peff@peff.net>
>
> I thought at first we would need one more for the new callsite I added
> in my series, but we use memset() in that instance, so it is fine.On an almost unrelated note ... I am now getting the following sparse warnings:
pack-revindex.c:105:23: warning: memset with byte count of 262144
This is a little annoying, since there is no way to turn this off. :( (which I consider a bug in sparse).
Sparse has special-case code to check calls to memset(), memcpy(), copy_to_user() and copy_from_user(). The code that checks the byte count argument looks like:
static void check_byte_count(struct instruction *insn, pseudo_t count)
{
if (!count)
return;
if (count->type == PSEUDO_VAL) {
long long val = count->value;
if (val <= 0 || val > 100000)
warning(insn->pos, "%s with byte count of %lld",
show_ident(insn->func->sym->ident), val);
return;
}
/* OK, we could try to do the range analysis here */
}I will just ignore this for now. ;-)
ATB, Ramsay Jones