From ab2c896a978a078888ced57c1fd8c5b6ae8b023f Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Wed, 11 May 2022 13:12:22 +0300 Subject: [PATCH] tools: Add coccinelle script to catch memset/memcpy wrong usage Wrong: memset(&a, 0, sizeof(struct ...)); Good: memset(&a, 0, sizeof(a)); Signed-off-by: Donatas Abraitis --- tools/coccinelle/memset.cocci | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 tools/coccinelle/memset.cocci diff --git a/tools/coccinelle/memset.cocci b/tools/coccinelle/memset.cocci new file mode 100644 index 0000000000..0da576cda6 --- /dev/null +++ b/tools/coccinelle/memset.cocci @@ -0,0 +1,21 @@ +// + +@@ +identifier src, dst; +identifier str, len; +type t =~ "struct"; + +@@ + +( +- memset(&dst, 0, sizeof(t)); ++ memset(&dst, 0, sizeof(dst)); +| +- memcpy(&dst, &src, sizeof(t)); ++ memcpy(&dst, &src, sizeof(dst)); +| +- char str[...]; +... +- memset(&str, 0, ...); ++ memset(&str, 0, sizeof(str)); +)