From: Nick Mathewson Date: Mon, 8 Jul 2019 17:41:35 +0000 (-0400) Subject: Add a compile-time assertion to prevent a recurrence of 31080. X-Git-Tag: tor-0.4.1.4-rc~6^2^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4512578e49b187075d4e8b4d07a0c921a15d5135;p=thirdparty%2Ftor.git Add a compile-time assertion to prevent a recurrence of 31080. --- diff --git a/src/lib/log/log.c b/src/lib/log/log.c index c68f335da6..756eb2a973 100644 --- a/src/lib/log/log.c +++ b/src/lib/log/log.c @@ -1275,6 +1275,8 @@ static const char *domain_list[] = { CTASSERT(ARRAY_LENGTH(domain_list) == N_LOGGING_DOMAINS + 1); +CTASSERT((UINT64_C(1)<<(N_LOGGING_DOMAINS-1)) < LOWEST_RESERVED_LD_FLAG_); + /** Return a bitmask for the log domain for which domain is the name, * or 0 if there is no such name. */ static log_domain_mask_t diff --git a/src/lib/log/log.h b/src/lib/log/log.h index 801bafa968..88e4ad8d61 100644 --- a/src/lib/log/log.h +++ b/src/lib/log/log.h @@ -118,6 +118,8 @@ #define LD_MESG (UINT64_C(1)<<29) #define N_LOGGING_DOMAINS 30 +/** First bit that is reserved in log_domain_mask_t for non-domain flags. */ +#define LOWEST_RESERVED_LD_FLAG_ (UINT64_C(1)<<61) #ifdef TOR_UNIT_TESTS /** This log message should not be intercepted by mock_saving_logv */ #define LD_NO_MOCK (UINT64_C(1)<<61)