diff options
author | Kostya Serebryany <kcc@google.com> | 2013-04-05 14:40:25 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2013-04-05 14:40:25 +0000 |
commit | a27bdf70ca24202dce21cf7c1a387aeaa400d889 (patch) | |
tree | 89e7bc0a6311be72249c791153a8f75ac6f9bde4 | |
parent | cd3049da150124156502b1a8c05e4c4887786cc5 (diff) |
[sanitizer] found a bug by code inspection: CHECK(a=b) instead of CHECK(a==b). Was puzzled why lint did not catch it. Turns out this check was disabled for asan source. fix all cases and enable the check
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@178872 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/asan/asan_fake_stack.cc | 8 | ||||
-rw-r--r-- | lib/asan/asan_interceptors.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_mac.cc | 6 | ||||
-rw-r--r-- | lib/asan/asan_poisoning.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_posix.cc | 10 | ||||
-rw-r--r-- | lib/asan/asan_report.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_rtl.cc | 6 | ||||
-rw-r--r-- | lib/asan/asan_stats.cc | 2 | ||||
-rw-r--r-- | lib/asan/asan_thread.cc | 2 | ||||
-rw-r--r-- | lib/msan/msan_interceptors.cc | 2 | ||||
-rwxr-xr-x | lib/sanitizer_common/scripts/check_lint.sh | 2 |
11 files changed, 22 insertions, 22 deletions
diff --git a/lib/asan/asan_fake_stack.cc b/lib/asan/asan_fake_stack.cc index 5f621b754..387751f75 100644 --- a/lib/asan/asan_fake_stack.cc +++ b/lib/asan/asan_fake_stack.cc @@ -18,7 +18,7 @@ namespace __asan { FakeStack::FakeStack() { - CHECK(REAL(memset) != 0); + CHECK(REAL(memset)); REAL(memset)(this, 0, sizeof(*this)); } @@ -150,9 +150,9 @@ void FakeStack::DeallocateFrame(FakeFrame *fake_frame) { void FakeStack::OnFree(uptr ptr, uptr size, uptr real_stack) { FakeFrame *fake_frame = (FakeFrame*)ptr; - CHECK(fake_frame->magic = kRetiredStackFrameMagic); - CHECK(fake_frame->descr != 0); - CHECK(fake_frame->size_minus_one == size - 1); + CHECK_EQ(fake_frame->magic, kRetiredStackFrameMagic); + CHECK_NE(fake_frame->descr, 0); + CHECK_EQ(fake_frame->size_minus_one, size - 1); PoisonShadow(ptr, size, kAsanStackAfterReturnMagic); } diff --git a/lib/asan/asan_interceptors.cc b/lib/asan/asan_interceptors.cc index c88dcd4b4..83daa9a44 100644 --- a/lib/asan/asan_interceptors.cc +++ b/lib/asan/asan_interceptors.cc @@ -522,7 +522,7 @@ static inline bool IsValidStrtolBase(int base) { } static inline void FixRealStrtolEndptr(const char *nptr, char **endptr) { - CHECK(endptr != 0); + CHECK(endptr); if (nptr == *endptr) { // No digits were found at strtol call, we need to find out the last // symbol accessed by strtoll on our own. diff --git a/lib/asan/asan_mac.cc b/lib/asan/asan_mac.cc index fd8613e56..63fb5f6dd 100644 --- a/lib/asan/asan_mac.cc +++ b/lib/asan/asan_mac.cc @@ -58,9 +58,9 @@ int GetMacosVersion() { uptr len = 0, maxlen = sizeof(version) / sizeof(version[0]); for (uptr i = 0; i < maxlen; i++) version[i] = '\0'; // Get the version length. - CHECK(sysctl(mib, 2, 0, &len, 0, 0) != -1); - CHECK(len < maxlen); - CHECK(sysctl(mib, 2, version, &len, 0, 0) != -1); + CHECK_NE(sysctl(mib, 2, 0, &len, 0, 0), -1); + CHECK_LT(len, maxlen); + CHECK_NE(sysctl(mib, 2, version, &len, 0, 0), -1); switch (version[0]) { case '9': return MACOS_VERSION_LEOPARD; case '1': { diff --git a/lib/asan/asan_poisoning.cc b/lib/asan/asan_poisoning.cc index 5213cdce8..e8b08d205 100644 --- a/lib/asan/asan_poisoning.cc +++ b/lib/asan/asan_poisoning.cc @@ -23,7 +23,7 @@ void PoisonShadow(uptr addr, uptr size, u8 value) { CHECK(AddrIsInMem(addr)); CHECK(AddrIsAlignedByGranularity(addr + size)); CHECK(AddrIsInMem(addr + size - SHADOW_GRANULARITY)); - CHECK(REAL(memset) != 0); + CHECK(REAL(memset)); FastPoisonShadow(addr, size, value); } diff --git a/lib/asan/asan_posix.cc b/lib/asan/asan_posix.cc index 47d29cfc6..5126a756d 100644 --- a/lib/asan/asan_posix.cc +++ b/lib/asan/asan_posix.cc @@ -43,7 +43,7 @@ static void MaybeInstallSigaction(int signum, sigact.sa_sigaction = handler; sigact.sa_flags = SA_SIGINFO; if (flags()->use_sigaltstack) sigact.sa_flags |= SA_ONSTACK; - CHECK(0 == REAL(sigaction)(signum, &sigact, 0)); + CHECK_EQ(0, REAL(sigaction)(signum, &sigact, 0)); if (flags()->verbosity >= 1) { Report("Installed the sigaction for signal %d\n", signum); } @@ -60,7 +60,7 @@ static void ASAN_OnSIGSEGV(int, siginfo_t *siginfo, void *context) { void SetAlternateSignalStack() { stack_t altstack, oldstack; - CHECK(0 == sigaltstack(0, &oldstack)); + CHECK_EQ(0, sigaltstack(0, &oldstack)); // If the alternate stack is already in place, do nothing. if ((oldstack.ss_flags & SS_DISABLE) == 0) return; // TODO(glider): the mapped stack should have the MAP_STACK flag in the @@ -70,7 +70,7 @@ void SetAlternateSignalStack() { altstack.ss_sp = base; altstack.ss_flags = 0; altstack.ss_size = kAltStackSize; - CHECK(0 == sigaltstack(&altstack, 0)); + CHECK_EQ(0, sigaltstack(&altstack, 0)); if (flags()->verbosity > 0) { Report("Alternative stack for T%d set: [%p,%p)\n", GetCurrentTidOrInvalid(), @@ -83,7 +83,7 @@ void UnsetAlternateSignalStack() { altstack.ss_sp = 0; altstack.ss_flags = SS_DISABLE; altstack.ss_size = 0; - CHECK(0 == sigaltstack(&altstack, &oldstack)); + CHECK_EQ(0, sigaltstack(&altstack, &oldstack)); UnmapOrDie(oldstack.ss_sp, oldstack.ss_size); } @@ -103,7 +103,7 @@ static bool tsd_key_inited = false; void AsanTSDInit(void (*destructor)(void *tsd)) { CHECK(!tsd_key_inited); tsd_key_inited = true; - CHECK(0 == pthread_key_create(&tsd_key, destructor)); + CHECK_EQ(0, pthread_key_create(&tsd_key, destructor)); } void *AsanTSDGet() { diff --git a/lib/asan/asan_report.cc b/lib/asan/asan_report.cc index 8bc5c4f5c..1cfcfc29e 100644 --- a/lib/asan/asan_report.cc +++ b/lib/asan/asan_report.cc @@ -298,7 +298,7 @@ bool DescribeAddressIfStack(uptr addr, uptr access_size) { // Report the number of stack objects. char *p; uptr n_objects = internal_simple_strtoll(frame_descr, &p, 10); - CHECK(n_objects > 0); + CHECK_GT(n_objects, 0); Printf(" This frame has %zu object(s):\n", n_objects); // Report all objects in this frame. for (uptr i = 0; i < n_objects; i++) { diff --git a/lib/asan/asan_rtl.cc b/lib/asan/asan_rtl.cc index 43f917122..299b93779 100644 --- a/lib/asan/asan_rtl.cc +++ b/lib/asan/asan_rtl.cc @@ -92,7 +92,7 @@ static void ParseFlagsFromString(Flags *f, const char *str) { ParseFlag(str, &f->symbolize, "symbolize"); ParseFlag(str, &f->verbosity, "verbosity"); ParseFlag(str, &f->redzone, "redzone"); - CHECK(f->redzone >= 16); + CHECK_GE(f->redzone, 16); CHECK(IsPowerOfTwo(f->redzone)); ParseFlag(str, &f->debug, "debug"); @@ -207,8 +207,8 @@ void ShowStatsAndAbort() { // ---------------------- mmap -------------------- {{{1 // Reserve memory range [beg, end]. static void ReserveShadowMemoryRange(uptr beg, uptr end) { - CHECK((beg % GetPageSizeCached()) == 0); - CHECK(((end + 1) % GetPageSizeCached()) == 0); + CHECK_EQ((beg % GetPageSizeCached()), 0); + CHECK_EQ(((end + 1) % GetPageSizeCached()), 0); uptr size = end - beg + 1; void *res = MmapFixedNoReserve(beg, size); if (res != (void*)beg) { diff --git a/lib/asan/asan_stats.cc b/lib/asan/asan_stats.cc index 66e7663d9..ba7c1ab6e 100644 --- a/lib/asan/asan_stats.cc +++ b/lib/asan/asan_stats.cc @@ -21,7 +21,7 @@ namespace __asan { AsanStats::AsanStats() { - CHECK(REAL(memset) != 0); + CHECK(REAL(memset)); REAL(memset)(this, 0, sizeof(AsanStats)); } diff --git a/lib/asan/asan_thread.cc b/lib/asan/asan_thread.cc index 8cda54490..64d70d65c 100644 --- a/lib/asan/asan_thread.cc +++ b/lib/asan/asan_thread.cc @@ -129,7 +129,7 @@ thread_return_t AsanThread::ThreadStart(uptr os_id) { // start_routine_ == 0 if we're on the main thread or on one of the // OS X libdispatch worker threads. But nobody is supposed to call // ThreadStart() for the worker threads. - CHECK(tid() == 0); + CHECK_EQ(tid(), 0); return 0; } diff --git a/lib/msan/msan_interceptors.cc b/lib/msan/msan_interceptors.cc index d3ddc6225..1dafc5d6c 100644 --- a/lib/msan/msan_interceptors.cc +++ b/lib/msan/msan_interceptors.cc @@ -829,7 +829,7 @@ static uptr sigactions[kMaxSignals]; static StaticSpinMutex sigactions_mu; static void SignalHandler(int signo) { - typedef void (*signal_cb)(int); + typedef void (*signal_cb)(int x); signal_cb cb = (signal_cb)sigactions[signo]; cb(signo); } diff --git a/lib/sanitizer_common/scripts/check_lint.sh b/lib/sanitizer_common/scripts/check_lint.sh index 859662923..32fa9bfb6 100755 --- a/lib/sanitizer_common/scripts/check_lint.sh +++ b/lib/sanitizer_common/scripts/check_lint.sh @@ -23,7 +23,7 @@ CPPLINT=${SCRIPT_DIR}/cpplint/cpplint.py # TODO: remove some of these filters COMMON_LINT_FILTER=-build/include,-build/header_guard,-legal/copyright,-whitespace/comments,-readability/casting,\ -build/namespaces -ASAN_RTL_LINT_FILTER=${COMMON_LINT_FILTER},-readability/check,-runtime/int +ASAN_RTL_LINT_FILTER=${COMMON_LINT_FILTER},-runtime/int ASAN_TEST_LINT_FILTER=${COMMON_LINT_FILTER},-runtime/sizeof,-runtime/int,-runtime/printf ASAN_LIT_TEST_LINT_FILTER=${ASAN_TEST_LINT_FILTER},-whitespace/line_length TSAN_RTL_LINT_FILTER=${COMMON_LINT_FILTER} |