From 065a74a7d8edc8a67e750bbaff5e0667e6782933 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Sat, 21 Sep 2019 17:48:50 +0200 Subject: [PATCH] basic: fix ASSERT_SIDE_EFFECT Coverity report in assert_se() --- src/basic/macro.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/basic/macro.h b/src/basic/macro.h index 336cb3a0999..18e5085669c 100644 --- a/src/basic/macro.h +++ b/src/basic/macro.h @@ -307,17 +307,18 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { extern void __coverity_panic__(void); -static inline int __coverity_check__(int condition) { +static inline void __coverity_check__(int condition) { + if (!condition) + __coverity_panic__(); +} + +static inline int __coverity_check_and_return__(int condition) { return condition; } -#define assert_message_se(expr, message) \ - do { \ - if (__coverity_check__(!(expr))) \ - __coverity_panic__(); \ - } while (false) +#define assert_message_se(expr, message) __coverity_check__(!!(expr)) -#define assert_log(expr, message) __coverity_check__(!!(expr)) +#define assert_log(expr, message) __coverity_check_and_return__(!!(expr)) #else /* ! __COVERITY__ */ -- 2.47.3