mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
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.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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__)
|
||||
|
||||
Reference in New Issue
Block a user