Building with 'ALL_BUGS_ARE_FATAL' fails because of formatted assertion changes.
Building with **ALL_BUGS_ARE_FATAL** should AFAICS normally be reserved for Coverty and/or analysers. But just for kicks, I've added **-DALL_BUGS_ARE_FATAL** to my CFLAGS. This causes errors like these (from clang using a git-checkout from today): ``` buf/buffers.c(531,7): error: too few arguments to function call, expected at least 5, have 4 if (BUG(buf->datalen >= INT_MAX)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ..\lib/log/util_bug.h(151,70): note: expanded from macro 'BUG' (tor_assertion_failed_(SHORT_FILE__,__LINE__,__func__,"!("#cond")"), \ ~~~~~~~~~~~~~~~~~~~~~ ^ ..\lib/log/util_bug.h(242,1): note: 'tor_assertion_failed_' declared here void tor_assertion_failed_(const char *fname, unsigned int line, ^ buf/buffers.c(533,7): error: too few arguments to function call, expected at least 5, have 4 if (BUG(buf->datalen >= INT_MAX - string_len)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... ``` I've used this patch to fix it: ``` --- a/src/lib/log/util_bug.h 2019-04-14 03:56:41 +++ b/src/lib/log/util_bug.h 2019-04-14 11:31:23 @@ -148,7 +148,7 @@ #define tor_assert_nonfatal_once(cond) tor_assert((cond)) #define BUG(cond) \ (ASSERT_PREDICT_UNLIKELY_(cond) ? \ - (tor_assertion_failed_(SHORT_FILE__,__LINE__,__func__,"!("#cond")"), \ + (tor_assertion_failed_(SHORT_FILE__,__LINE__,__func__,"!("#cond")", NULL), \ abort(), 1) \ : 0) #elif defined(TOR_UNIT_TESTS) && defined(DISABLE_ASSERTS_IN_UNIT_TESTS) ``` W/o knowing what the correct fix would be. **Trac**: **Username**: gvanem
issue