diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-05-11 13:12:22 +0300 |
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-05-11 13:12:22 +0300 |
| commit | ab2c896a978a078888ced57c1fd8c5b6ae8b023f (patch) | |
| tree | e0cf103314b12b29c91ab7a81307f7e5dfff0356 | |
| parent | b5605493a4f627b011b73c6c536bbb1f140e365d (diff) | |
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 <donatas@opensourcerouting.org>
| -rw-r--r-- | tools/coccinelle/memset.cocci | 21 |
1 files changed, 21 insertions, 0 deletions
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)); +) |
