commit c515dc8d0d17b9ce5e8c4f31ba2bd58c15fb90bf Author: Nick Mathewson nickm@torproject.org Date: Fri Jul 20 11:18:11 2018 -0400
Remove over-cleverness from our coverity BUG() definition.
Our previous definition implied that code would never keep running if a BUG occurred (which it does), and that BUG(x) might be true even if x was false (which it can't be).
Closes ticket 26890. Bugfix on 0.3.1.4-alpha. --- src/lib/log/util_bug.c | 4 ---- src/lib/log/util_bug.h | 3 +-- 2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/lib/log/util_bug.c b/src/lib/log/util_bug.c index 42b3670a7..b23f4edc9 100644 --- a/src/lib/log/util_bug.c +++ b/src/lib/log/util_bug.c @@ -20,10 +20,6 @@
#include <string.h>
-#ifdef __COVERITY__ -int bug_macro_deadcode_dummy__ = 0; -#endif - #ifdef TOR_UNIT_TESTS static void (*failed_assertion_cb)(void) = NULL; static int n_bugs_to_capture = 0; diff --git a/src/lib/log/util_bug.h b/src/lib/log/util_bug.h index 61ee60f72..2ef5be8d3 100644 --- a/src/lib/log/util_bug.h +++ b/src/lib/log/util_bug.h @@ -86,13 +86,12 @@ */
#ifdef __COVERITY__ -extern int bug_macro_deadcode_dummy__; #undef BUG // Coverity defines this in global headers; let's override it. This is a // magic coverity-only preprocessor thing. // We use this "deadcode_dummy__" trick to prevent coverity from // complaining about unreachable bug cases. -#nodef BUG(x) ((x)?(__coverity_panic__(),1):(0+bug_macro_deadcode_dummy__)) +#nodef BUG(x) (x) #endif /* defined(__COVERITY__) */
#if defined(__COVERITY__) || defined(__clang_analyzer__)
tor-commits@lists.torproject.org