From 71abb5c1353c1ad0ec470734d1b341ac6e06329f Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Tue, 7 Apr 2020 17:25:10 +0300 Subject: [PATCH] tools: Add coccinelle script to catch typecasts to larger sizes That's valid only for uint*_t Signed-off-by: Donatas Abraitis --- tools/coccinelle/cast_to_larger_sizes.cocci | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tools/coccinelle/cast_to_larger_sizes.cocci diff --git a/tools/coccinelle/cast_to_larger_sizes.cocci b/tools/coccinelle/cast_to_larger_sizes.cocci new file mode 100644 index 0000000000..d97e1f9c33 --- /dev/null +++ b/tools/coccinelle/cast_to_larger_sizes.cocci @@ -0,0 +1,20 @@ +// spatch -sp_file tools/coccinelle/cast_to_larger_sizes.cocci --recursive-includes ./ + +@r@ +typedef uint8_t; +typedef uint16_t; +typedef uint32_t; +typedef uint64_t; +uint8_t *i8; +position p; +@@ + + \( + (uint64_t *) i8@p\|(uint32_t *) i8@p\|(uint16_t *) i8@p + \) + +@script:python@ +p << r.p; +@@ + +coccilib.report.print_report(p[0],"Bad typecast to larger size")