coccinelle: add test on malloc error check.

This patch adds a coccinelle code check on SCMalloc, SCCalloc and
SCStrdup and other memory handling functions. It verifies that the
error checking is made.
pull/91/head
Eric Leblond 13 years ago
parent 9f13572843
commit 28ca36acf7

@ -0,0 +1,44 @@
@malloced@
identifier x;
position p1;
identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
@@
x@p1 = func(...)
@inlinetested@
identifier x;
position p1;
statement S;
identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
@@
if ((x@p1 = func(...)) == NULL) S
@istested@
identifier x;
position malloced.p1;
statement S1, S2;
identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
@@
x@p1 = func(...)
... when != x
(
if (unlikely(x == NULL)) S1
|
if (x == NULL) S1
|
if (x != NULL) S1 else S2
|
BUG_ON(x == NULL)
)
@script:python depends on malloced && !istested && !inlinetested @
p1 << malloced.p1;
@@
print "Structure malloced at %s:%s but error is not checked." % (p1[0].file, p1[0].line)
import sys
sys.exit(1)
Loading…
Cancel
Save