A last minute fixup to commit e51494552b78 was misapplied. Instead of
improving the implementation of assert_with_msg() for the case where
NDEBUG is defined, it effectively eliminated assert_with_msg() in the
normal case where NDEBUG is _not_ defined. As well as removing assert()s
which protect us in case of certian types of bug, this introduces some
cppcheck and clang-tidy regressions.
Fixes: e51494552b78 ("Fix build with -DNDEBUG")
Signed-off-by: David Gibson
---
util.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/util.h b/util.h
index a9dcc04c..144dc1e6 100644
--- a/util.h
+++ b/util.h
@@ -51,7 +51,7 @@ void abort_with_msg(const char *fmt, ...)
*/
#ifndef NDEBUG
#define assert_with_msg(expr, ...) \
- (1 ? (void)0 : ((void)(expr), abort_with_msg(__VA_ARGS__)))
+ ((expr) ? (void)0 : abort_with_msg(__VA_ARGS__))
/* The standard library assert() hits our seccomp filter and dies before it can
* actually print a message. So, replace it with our own version.
*/
@@ -61,7 +61,7 @@ void abort_with_msg(const char *fmt, ...)
__func__, __FILE__, __LINE__, STRINGIFY(expr))
#else
#define assert_with_msg(expr, ...) \
- ((void)(expr), 1 ? (void)0 : abort_with_msg(__VA_ARGS__))
+ (1 ? (void)0 : ((void)(expr), abort_with_msg(__VA_ARGS__)))
#endif
#ifdef P_tmpdir
--
2.54.0