lkml.org 
[lkml]   [2009]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectsmatch 1.53 released
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


\
 
 \ /
  Last update: 2009-06-02 11:43    [W:0.050 / U:16.684 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site