[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100818214818.GA31094@redhat.com>
Date: Wed, 18 Aug 2010 17:48:18 -0400
From: Dave Jones <davej@...hat.com>
To: Joe Perches <joe@...ches.com>
Cc: apw@...onical.com, Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: add memset checks to checkpatch.pl
On Wed, Aug 18, 2010 at 02:32:13PM -0700, Joe Perches wrote:
> On Wed, 2010-08-18 at 16:40 -0400, Dave Jones wrote:
> > Occasionally someone goofs the argument order to memset.
> > This patch makes checkpatch catch those.
> >
> > I made memset with size of 0 an error, because it's never correct,
> > whereas memset with a size of 1 isn't technically an incorrect
> > thing to do so I left it as a warning. It may still be better to replace
> > it with a single variable assignment in the false positive cases.
>
> Maybe something like allows more flexible checking?
>
> if ($line =~ /\bmemset\s*\(\s*($Lval)\s*,\s*($Lval)\s*,\s*($Lval)\s*\)/) {
> my $memset_addr = $1;
> my $memset_val = $2;
> my $memset_size = $3;
> if ($memset_size =~ /(0x|)0$/i) {
> ERROR("memset uses second argument as constant byte value, not third.\n" . $herecurr);
> elsif ($memset_size =~ /(0x|)1/i) {
> WARN("single byte memset is suspicious. Swapped 2nd/3rd argument?\n" . $herecurr);
> }
> }
I'm all for improving my shoddy perl where possible, but this doesn't seem to actually
catch any of the test cases I wrote. (it's also missing a } )
Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists