summaryrefslogtreecommitdiff
path: root/coccinelle
diff options
context:
space:
mode:
Diffstat (limited to 'coccinelle')
-rw-r--r--coccinelle/empty-if.cocci19
-rw-r--r--coccinelle/errno.cocci42
-rw-r--r--coccinelle/mfree.cocci6
-rw-r--r--coccinelle/no-if-assignments.cocci20
-rw-r--r--coccinelle/safe_close-no-if.cocci7
-rw-r--r--coccinelle/safe_close.cocci18
6 files changed, 112 insertions, 0 deletions
diff --git a/coccinelle/empty-if.cocci b/coccinelle/empty-if.cocci
new file mode 100644
index 0000000000..ebd0bfddce
--- /dev/null
+++ b/coccinelle/empty-if.cocci
@@ -0,0 +1,19 @@
+@@
+expression e, f;
+statement s, t;
+@@
+(
+if (e) {
+if (f) s
+}
+|
+if (e) {
+if (f) s
+else t
+}
+|
+- if (e) {
++ if (e)
+s
+- }
+)
diff --git a/coccinelle/errno.cocci b/coccinelle/errno.cocci
new file mode 100644
index 0000000000..073d905141
--- /dev/null
+++ b/coccinelle/errno.cocci
@@ -0,0 +1,42 @@
+@@
+identifier r;
+expression t, e;
+@@
+- r = -e;
+- log_error_errno(e, t);
++ r = log_error_errno(e, t);
+@@
+identifier r;
+expression t, e;
+@@
+- log_error_errno(e, t);
+- r = -e;
++ r = log_error_errno(e, t);
+@@
+identifier r;
+expression t, e;
+@@
+- r = log_error_errno(e, t);
+- return r;
++ return log_error_errno(e, t);
+@@
+identifier r;
+expression t, e;
+@@
+- r = -e;
+- log_warning_errno(e, t);
++ r = log_warning_errno(e, t);
+@@
+identifier r;
+expression t, e;
+@@
+- log_warning_errno(e, t);
+- r = -e;
++ r = log_warning_errno(e, t);
+@@
+identifier r;
+expression t, e;
+@@
+- r = log_warning_errno(e, t);
+- return r;
++ return log_warning_errno(e, t);
diff --git a/coccinelle/mfree.cocci b/coccinelle/mfree.cocci
new file mode 100644
index 0000000000..1389cd35db
--- /dev/null
+++ b/coccinelle/mfree.cocci
@@ -0,0 +1,6 @@
+@@
+expression p;
+@@
+- free(p);
+- p = NULL;
++ p = mfree(p);
diff --git a/coccinelle/no-if-assignments.cocci b/coccinelle/no-if-assignments.cocci
new file mode 100644
index 0000000000..9f63e90337
--- /dev/null
+++ b/coccinelle/no-if-assignments.cocci
@@ -0,0 +1,20 @@
+@@
+expression p, q;
+identifier r;
+statement s;
+@@
+- if ((r = q) < p)
+- s
++ r = q;
++ if (r < p)
++ s
+@@
+expression p, q;
+identifier r;
+statement s;
+@@
+- if ((r = q) >= p)
+- s
++ r = q;
++ if (r >= p)
++ s
diff --git a/coccinelle/safe_close-no-if.cocci b/coccinelle/safe_close-no-if.cocci
new file mode 100644
index 0000000000..81c5678518
--- /dev/null
+++ b/coccinelle/safe_close-no-if.cocci
@@ -0,0 +1,7 @@
+@@
+expression fd;
+@@
+- if (fd >= 0) {
+- fd = safe_close(fd);
+- }
++ fd = safe_close(fd);
diff --git a/coccinelle/safe_close.cocci b/coccinelle/safe_close.cocci
new file mode 100644
index 0000000000..6fedd804f2
--- /dev/null
+++ b/coccinelle/safe_close.cocci
@@ -0,0 +1,18 @@
+@@
+expression fd;
+@@
+- close(fd);
+- fd = -1;
++ fd = safe_close(fd);
+@@
+expression fd;
+@@
+- close_nointr(fd);
+- fd = -1;
++ fd = safe_close(fd);
+@@
+expression fd;
+@@
+- safe_close(fd);
+- fd = -1;
++ fd = safe_close(fd);