Re: checkpatch.pl error: Use of uninitialized value $max (line3407,3410)

From: Joe Perches
Date: Thu Jan 10 2013 - 14:44:59 EST


On Thu, 2013-01-10 at 11:18 -0800, Guenter Roeck wrote:
> Hi all,

Hi Guenter.

> I get the following error when running checkpatch.pl:
>
> scripts/checkpatch.pl -f drivers/hwmon/da9055-hwmon.c
> Use of uninitialized value $max in string eq at scripts/checkpatch.pl line 3407.
> Use of uninitialized value $max in pattern match (m//) at scripts/checkpatch.pl line 3410.

[]

> The checkpatch code creating the error was introduced with commit 4a273195
> (checkpatch: check usleep_range() arguments).

> Is this a but in checkpatch, or is something wrong in my environment ?

Yes, it's a checkpatch bug, ignore it for now.
You'd also get it if you had a memset.

It's a problem with the $Float test

I believe this should fix it.

I haven't tested it much though.

scripts/checkpatch.pl | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 9de3a69..3d0f577 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -230,12 +230,12 @@ our $Inline = qr{inline|__always_inline|noinline};
our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]};
our $Lval = qr{$Ident(?:$Member)*};

-our $Float_hex = qr{(?i:0x[0-9a-f]+p-?[0-9]+[fl]?)};
-our $Float_dec = qr{(?i:((?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?))};
-our $Float_int = qr{(?i:[0-9]+e-?[0-9]+[fl]?)};
+our $Float_hex = qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?};
+our $Float_dec = qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?};
+our $Float_int = qr{(?i)[0-9]+e-?[0-9]+[fl]?};
our $Float = qr{$Float_hex|$Float_dec|$Float_int};
-our $Constant = qr{(?:$Float|(?i:(?:0x[0-9a-f]+|[0-9]+)[ul]*))};
-our $Assignment = qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)};
+our $Constant = qr{$Float|(?i)(?:0x[0-9a-f]+|[0-9]+)[ul]*};
+our $Assignment = qr{\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=};
our $Compare = qr{<=|>=|==|!=|<|>};
our $Operators = qr{
<=|>=|==|!=|


--
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/