diff options
author | Vitaly Buka <vitalybuka@google.com> | 2017-05-24 19:09:24 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2017-05-24 19:09:24 +0000 |
commit | 03968223b794e6c6f9e482b7e05b2446966e76c3 (patch) | |
tree | 95da4ac0bae35eb35d13446d3ec7ba8d6106dfd6 /lib/asan/tests/asan_test.cc | |
parent | 3e7872b74ef1fcfeaf5ac743afd9b6c66e36fb7d (diff) |
Revert "[compiler-rt] Change default of allow_user_segv_handler to true"
Breaks sanitizer-x86_64-linux-fuzzer bot.
This reverts commit r303729.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@303795 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/tests/asan_test.cc')
-rw-r--r-- | lib/asan/tests/asan_test.cc | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/lib/asan/tests/asan_test.cc b/lib/asan/tests/asan_test.cc index d0128e34d..7ac72955f 100644 --- a/lib/asan/tests/asan_test.cc +++ b/lib/asan/tests/asan_test.cc @@ -251,8 +251,7 @@ TEST(AddressSanitizer, BitFieldNegativeTest) { namespace { const char kSEGVCrash[] = "AddressSanitizer: SEGV on unknown address"; -const char kOverriddenSigactionHandler[] = "Test sigaction handler\n"; -const char kOverriddenSignalHandler[] = "Test signal handler\n"; +const char kOverriddenHandler[] = "ASan signal handler has been overridden\n"; TEST(AddressSanitizer, WildAddressTest) { char *c = (char*)0x123; @@ -260,12 +259,12 @@ TEST(AddressSanitizer, WildAddressTest) { } void my_sigaction_sighandler(int, siginfo_t*, void*) { - fprintf(stderr, kOverriddenSigactionHandler); + fprintf(stderr, kOverriddenHandler); exit(1); } void my_signal_sighandler(int signum) { - fprintf(stderr, kOverriddenSignalHandler); + fprintf(stderr, kOverriddenHandler); exit(1); } @@ -274,20 +273,16 @@ TEST(AddressSanitizer, SignalTest) { memset(&sigact, 0, sizeof(sigact)); sigact.sa_sigaction = my_sigaction_sighandler; sigact.sa_flags = SA_SIGINFO; - char *c = (char *)0x123; - - EXPECT_DEATH(*c = 0, kSEGVCrash); - - // ASan should allow to set sigaction()... + // ASan should silently ignore sigaction()... EXPECT_EQ(0, sigaction(SIGSEGV, &sigact, 0)); #ifdef __APPLE__ EXPECT_EQ(0, sigaction(SIGBUS, &sigact, 0)); #endif - EXPECT_DEATH(*c = 0, kOverriddenSigactionHandler); - + char *c = (char*)0x123; + EXPECT_DEATH(*c = 0, kSEGVCrash); // ... and signal(). - EXPECT_NE(SIG_ERR, signal(SIGSEGV, my_signal_sighandler)); - EXPECT_DEATH(*c = 0, kOverriddenSignalHandler); + EXPECT_EQ(0, signal(SIGSEGV, my_signal_sighandler)); + EXPECT_DEATH(*c = 0, kSEGVCrash); } } // namespace #endif |