smatch 1.53 released

From: Dan Carpenter
Date: Tue Jun 02 2009 - 05:40:59 EST


Smatch is a source code checker for C. Right now the focus is on checking
for kernel bugs.

Here is are the instructions for installing and using:
git clone git://repo.or.cz/smatch.git
cd smatch
make
cd /usr/src/linux
make C=1 CHECK=/path/to/smatch modules bzImage | tee warns.txt
egrep '(warn|error):' warns.txt

Some weeks ago I pushed a bad commit. I haven't had internet access to
fix it until now. Sorry about that. It's fixed now.

Smatch v1.53 improves handling of compound implications. So if you have
code like this:
aaa = 0;
if (y)
aaa = 1;
if (x)
aaa = 2;
if (x && y)
__smatch_print_value("aaa"); // <-- prints aaa == 2
else
__smatch_print_value("aaa"); // <-- prints aaa == 0-2

This version also adds implications for switch statements.
if (!a && x != 42)
return;
switch(x) {
case 1:
a->member = 1; // <-- It's ok to dereference 'a' here.
case 42:
a->member = 1; // <-- smatch prints an error here.

regards,
dan carpenter
--
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/