summaryrefslogtreecommitdiffstats
path: root/qa/coccinelle/realloc.cocci
diff options
context:
space:
mode:
Diffstat (limited to 'qa/coccinelle/realloc.cocci')
-rw-r--r--qa/coccinelle/realloc.cocci18
1 files changed, 18 insertions, 0 deletions
diff --git a/qa/coccinelle/realloc.cocci b/qa/coccinelle/realloc.cocci
new file mode 100644
index 0000000..e9c4fc6
--- /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)