Browse Source

Add a simple coccinelle script to replace malloc->calloc

Coccinelle is a semantic patching tool that can automatically change
C code via semantic patching.

This script also replaces realloc with reallocarray as appropriate.
Nick Mathewson 9 years ago
parent
commit
5da821a8a3
1 changed files with 20 additions and 0 deletions
  1. 20 0
      scripts/coccinelle/calloc.cocci

+ 20 - 0
scripts/coccinelle/calloc.cocci

@@ -0,0 +1,20 @@
+// Use calloc or realloc as appropriate instead of multiply-and-alloc
+
+@malloc_to_calloc@
+expression a,b;
+@@
+- tor_malloc(a * b)
++ tor_calloc(a, b)
+
+@malloc_zero_to_calloc@
+expression a, b;
+@@
+- tor_malloc_zero(a * b)
++ tor_calloc(a, b)
+
+@realloc_to_reallocarray@
+expression a, b;
+expression p;
+@@
+- tor_realloc(p, a * b)
++ tor_reallocarray(p, a, b)