coccinelle: add siginit test

Add a test that check an inversion during keyword setup where
we add a sigmatch to a signature and then do error handling on it.
This was causing a double free of some elements and ultimately a
segfault.

Proposed-by: Victor Julien <victor@inliniac.net>
pull/2242/head
Eric Leblond 9 years ago committed by Victor Julien
parent 17e70483c5
commit 4324805478

@ -0,0 +1,26 @@
@siginit@
identifier func =~ "Detect.*Setup";
expression E1;
position p1;
identifier de_ctx, s, str, error;
type DetectEngineCtx, Signature;
@@
func(DetectEngineCtx *de_ctx, Signature *s, char *str) {
...
SigMatchAppendSMToList(s, ...)@p1;
...
if (s->alproto != E1 && ...) {
...
goto error;
}
...
}
@script:python@
p1 << siginit.p1;
@@
print "SigMatch added at %s:%s but error handling can cause it to be freed later." % (p1[0].file, p1[0].line)
import sys
sys.exit(1)
Loading…
Cancel
Save