From 5da821a8a3cfffc18f5a656852d98e69cff5dd8f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 13 Aug 2014 10:31:31 -0400 Subject: [PATCH] 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. --- scripts/coccinelle/calloc.cocci | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 scripts/coccinelle/calloc.cocci diff --git a/scripts/coccinelle/calloc.cocci b/scripts/coccinelle/calloc.cocci new file mode 100644 index 0000000000..8a295eb4fd --- /dev/null +++ b/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)