Add Coccinelle usage: one for blacklisting, one for patch collection

This is inspired by the [Coccinelle](http://coccinelle.lip6.fr/) usage
in systemd.  I also took it a bit further and added infrastructure
to have spatches which should never apply.  This acts as a blacklist.

The reason to do the latter is that coccinelle is *way* more powerful than the
regular expresssions we have in `make syntax-check`.

I started with blacklisting `g_error_free()` directly. The reason that's bad is
it leaves a dangling pointer.

Closes: #754
Approved by: jlebon
This commit is contained in:
Colin Walters authored and Atomic Bot committed 2017-03-30 19:19:54 +00:00
1 parent ee626c2654
commit 305db981d4
12 files changed
+96 -26

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
Add patches here which should never match in the code; i.e. the suggested
replacement may be junk.
+5
View File
@@ -0,0 +1,5 @@
@@
expression p;
@@
- g_error_free (p);
+ g_clear_error (&p);