summaryrefslogtreecommitdiff
path: root/coverity
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2017-02-16 17:31:20 +0100
committerJeremy Allison <jra@samba.org>2017-02-23 07:11:18 +0100
commitf0196b2e035ac4aa08ac8024f8b6aaff42ad53e0 (patch)
tree8a7f01c6e180c4975c33527460b407193503d4d1 /coverity
parent8ac43e0e6ef9236a5c6d2c27ebe24171582c1d49 (diff)
downloadsamba-f0196b2e035ac4aa08ac8024f8b6aaff42ad53e0.tar.gz
coverity: Add modeling file for Coverity scan
The modeling file has currently all macros for cmocka that Coverity doesn't detect false positives. We could add torture assert macros if needed too. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Feb 23 07:11:18 CET 2017 on sn-devel-144
Diffstat (limited to 'coverity')
-rw-r--r--coverity/README6
-rw-r--r--coverity/coverity_assert_model.c86
2 files changed, 92 insertions, 0 deletions
diff --git a/coverity/README b/coverity/README
new file mode 100644
index 00000000000..84795d9fe10
--- /dev/null
+++ b/coverity/README
@@ -0,0 +1,6 @@
+coverity_assert_model.c:
+
+This file is a Coverity Modeling file for which currently adds the needed models
+for using the cmocka unit test framework. The assert functions could create
+false positives, to avoid that you can load this modeling file in the Coverity
+web interface. If needed add models for torture_ and talloc_ macros.
diff --git a/coverity/coverity_assert_model.c b/coverity/coverity_assert_model.c
new file mode 100644
index 00000000000..ba5c17d0a58
--- /dev/null
+++ b/coverity/coverity_assert_model.c
@@ -0,0 +1,86 @@
+#define LargestIntegralType unsigned long long
+
+void _assert_true(const LargestIntegralType result,
+ const char* const expression,
+ const char * const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_int_equal(
+ const LargestIntegralType a, const LargestIntegralType b,
+ const char * const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_int_not_equal(
+ const LargestIntegralType a, const LargestIntegralType b,
+ const char * const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_return_code(const LargestIntegralType result,
+ size_t rlen,
+ const LargestIntegralType error,
+ const char * const expression,
+ const char * const file,
+ const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_string_equal(const char * const a, const char * const b,
+ const char * const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_string_not_equal(const char * const a, const char * const b,
+ const char *file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_memory_equal(const void * const a, const void * const b,
+ const size_t size, const char* const file,
+ const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_memory_not_equal(const void * const a, const void * const b,
+ const size_t size, const char* const file,
+ const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_in_range(
+ const LargestIntegralType value, const LargestIntegralType minimum,
+ const LargestIntegralType maximum, const char* const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_not_in_range(
+ const LargestIntegralType value, const LargestIntegralType minimum,
+ const LargestIntegralType maximum, const char* const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_in_set(
+ const LargestIntegralType value, const LargestIntegralType values[],
+ const size_t number_of_values, const char* const file, const int line)
+{
+ __coverity_panic__();
+}
+
+void _assert_not_in_set(
+ const LargestIntegralType value, const LargestIntegralType values[],
+ const size_t number_of_values, const char* const file, const int line)
+{
+ __coverity_panic__();
+}