summaryrefslogtreecommitdiffstats
path: root/contrib/coccinelle/free.cocci
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/coccinelle/free.cocci')
-rw-r--r--contrib/coccinelle/free.cocci45
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/coccinelle/free.cocci b/contrib/coccinelle/free.cocci
new file mode 100644
index 0000000..6fb9eb6
--- /dev/null
+++ b/contrib/coccinelle/free.cocci
@@ -0,0 +1,45 @@
+@@
+expression E;
+@@
+- if (E)
+(
+ free(E);
+|
+ free_commit_list(E);
+)
+
+@@
+expression E;
+@@
+- if (!E)
+(
+ free(E);
+|
+ free_commit_list(E);
+)
+
+@@
+expression E;
+@@
+- free(E);
++ FREE_AND_NULL(E);
+- E = NULL;
+
+@@
+expression E;
+@@
+- if (E)
+- {
+ free_commit_list(E);
+ E = NULL;
+- }
+
+@@
+expression E;
+statement S;
+@@
+- if (E) {
++ if (E)
+ S
+ free_commit_list(E);
+- }