From a74f4fb9d27875e46e330e66b0e40fff92b121d9 Mon Sep 17 00:00:00 2001 From: Etienne Samson Date: Fri, 4 Jan 2019 14:04:48 +0100 Subject: [PATCH] coverity: attempt to model clar's assertions Coverity considers that anything that looks like assert() behaves like it (ie. side-effects would be skipped on a NDEBUG build). As we have a bunch of those in the test suite (128), this would ensure Coverity isn't confused. --- script/user_model.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/script/user_model.c b/script/user_model.c index a933d735c..49425272e 100644 --- a/script/user_model.c +++ b/script/user_model.c @@ -73,3 +73,26 @@ int git_buf_set(git_buf *buf, const void *data, size_t len) buf->size = len + 1; return 0; } + +void clar__fail( + const char *file, + int line, + const char *error, + const char *description, + int should_abort) +{ + if (should_abort) + __coverity_panic__(); +} + +void clar__assert( + int condition, + const char *file, + int line, + const char *error, + const char *description, + int should_abort) +{ + if (!condition && should_abort) + __coverity_panic__(); +}