From: Frantisek Sumsal Date: Sat, 21 Sep 2019 15:48:50 +0000 (+0200) Subject: basic: fix ASSERT_SIDE_EFFECT Coverity report in assert_se() X-Git-Tag: v244-rc1~240 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=065a74a7d8edc8a67e750bbaff5e0667e6782933;p=thirdparty%2Fsystemd.git basic: fix ASSERT_SIDE_EFFECT Coverity report in assert_se() --- 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__ */