mirror of https://github.com/OISF/suricata
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.1 KiB
Plaintext
64 lines
1.1 KiB
Plaintext
@malloced@
|
|
expression x;
|
|
position p1;
|
|
identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
|
|
@@
|
|
|
|
x@p1 = func(...)
|
|
|
|
@inlinetested@
|
|
expression x, E;
|
|
statement S;
|
|
position malloced.p1;
|
|
identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
|
|
@@
|
|
|
|
(
|
|
if ((x@p1 = func(...)) == NULL) S
|
|
|
|
|
if (E && (x@p1 = func(...)) == NULL) S
|
|
)
|
|
|
|
@realloc exists@
|
|
position malloced.p1;
|
|
expression x, E1;
|
|
identifier func =~ "(SCMalloc|SCCalloc|SCMallocAligned)";
|
|
@@
|
|
|
|
x@p1 = func(...)
|
|
... when != x
|
|
x = SCRealloc(x, E1)
|
|
|
|
@istested depends on !realloc exists@
|
|
expression x, E1;
|
|
position malloced.p1;
|
|
statement S1, S2;
|
|
identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
|
|
@@
|
|
|
|
x@p1 = func(...)
|
|
... when != x
|
|
(
|
|
if (unlikely(x == NULL)) S1
|
|
|
|
|
if (unlikely(x == NULL)) S1 else S2
|
|
|
|
|
if (likely(x != NULL)) S1
|
|
|
|
|
if (x == NULL) S1
|
|
|
|
|
if (x != NULL) S1 else S2
|
|
|
|
|
if (x && E1) S1
|
|
|
|
|
BUG_ON(x == NULL)
|
|
)
|
|
|
|
|
|
@script:python depends on !realloc && !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)
|