summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2017-02-25 10:30:03 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-02-27 19:02:05 (GMT)
commit3f64699ffde6cd2152db2106505a2310601a207f (patch)
tree4642e6ba0aaaa6d6ba8c639a91d91187794fbb0f /contrib
parent3b9e3c2cede15057af3ff8076c45ad5f33829436 (diff)
downloadgit-3f64699ffde6cd2152db2106505a2310601a207f.zip
git-3f64699ffde6cd2152db2106505a2310601a207f.tar.gz
git-3f64699ffde6cd2152db2106505a2310601a207f.tar.bz2
cocci: use ALLOC_ARRAY
Add a semantic patch for using ALLOC_ARRAY to allocate arrays and apply the transformation on the current source tree. The macro checks for multiplication overflow and infers the element size automatically; the result is shorter and safer code. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/coccinelle/array.cocci16
1 files changed, 16 insertions, 0 deletions
diff --git a/contrib/coccinelle/array.cocci b/contrib/coccinelle/array.cocci
index 2d7f25d..4ba98b7 100644
--- a/contrib/coccinelle/array.cocci
+++ b/contrib/coccinelle/array.cocci
@@ -24,3 +24,19 @@ expression n;
@@
- memcpy(dst, src, n * sizeof(T));
+ COPY_ARRAY(dst, src, n);
+
+@@
+type T;
+T *ptr;
+expression n;
+@@
+- ptr = xmalloc(n * sizeof(*ptr));
++ ALLOC_ARRAY(ptr, n);
+
+@@
+type T;
+T *ptr;
+expression n;
+@@
+- ptr = xmalloc(n * sizeof(T));
++ ALLOC_ARRAY(ptr, n);