From: Eric Leblond Date: Thu, 12 Dec 2013 12:34:54 +0000 (+0100) Subject: coccinelle: add test on realloc X-Git-Tag: suricata-2.0beta2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fbaebad63c10ade0d5d445dac12104d10303488;p=thirdparty%2Fsuricata.git coccinelle: add test on realloc If we use SCRealloc like: x = SCRealloc(x, ...) then in case of failure we are loosing the original pointer value and the memory is lost and can not be free. This test just check for this construction and output an error if it finds it. --- diff --git a/qa/coccinelle/realloc.cocci b/qa/coccinelle/realloc.cocci new file mode 100644 index 0000000000..0b82880735 --- /dev/null +++ b/qa/coccinelle/realloc.cocci @@ -0,0 +1,18 @@ +@realloc@ +expression x, E; +type ty; +position p1; +@@ + +( +x@p1 = SCRealloc(x, E) +| +x@p1 = (ty *) SCRealloc(x, E) +) + +@script:python@ +p1 << realloc.p1; +@@ +print "Structure reallocated at %s:%s but original pointer is lost and not freed in case of error." % (p1[0].file, p1[0].line) +import sys +sys.exit(1)