devtools/cocci: create safer version of strlcpy script
authorBruce Richardson <bruce.richardson@intel.com>
Wed, 3 Apr 2019 14:45:03 +0000 (15:45 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 4 Apr 2019 20:45:33 +0000 (22:45 +0200)
The existing cocci script for coccinelle replaces all matching instances
of snprintf() with strlcpy() without regards to header inclusion. To allow
changes without build errors, we create a safer version of this script
that only makes changes when the rte_string_fns.h header is already
included.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
devtools/cocci/strlcpy-with-header.cocci [new file with mode: 0644]

diff --git a/devtools/cocci/strlcpy-with-header.cocci b/devtools/cocci/strlcpy-with-header.cocci
new file mode 100644 (file)
index 0000000..046cdbd
--- /dev/null
@@ -0,0 +1,12 @@
+@include@
+@@
+
+#include <rte_string_fns.h>
+
+@use_strlcpy depends on include@
+expression src, dst, size;
+@@
+(
+- snprintf(dst, size, "%s", src)
++ strlcpy(dst, src, size)
+)