[asan] in SizedStackTest check the death string, also restrict one of the checks to 64-bit
llvm-svn: 196576
This commit is contained in:
parent
89d910c397
commit
3429f78289
|
@ -449,17 +449,18 @@ template<int kSize>
|
|||
NOINLINE void SizedStackTest() {
|
||||
char a[kSize];
|
||||
char *A = Ident((char*)&a);
|
||||
const char *expected_death = "AddressSanitizer: stack-buffer-";
|
||||
for (size_t i = 0; i < kSize; i++)
|
||||
A[i] = i;
|
||||
EXPECT_DEATH(A[-1] = 0, "");
|
||||
EXPECT_DEATH(A[-5] = 0, "");
|
||||
EXPECT_DEATH(A[-1] = 0, expected_death);
|
||||
EXPECT_DEATH(A[-5] = 0, expected_death);
|
||||
if (kSize > 16 && SANITIZER_WORDSIZE == 64)
|
||||
EXPECT_DEATH(A[-31] = 0, expected_death);
|
||||
EXPECT_DEATH(A[kSize] = 0, expected_death);
|
||||
EXPECT_DEATH(A[kSize + 1] = 0, expected_death);
|
||||
EXPECT_DEATH(A[kSize + 5] = 0, expected_death);
|
||||
if (kSize > 16)
|
||||
EXPECT_DEATH(A[-31] = 0, "");
|
||||
EXPECT_DEATH(A[kSize] = 0, "");
|
||||
EXPECT_DEATH(A[kSize + 1] = 0, "");
|
||||
EXPECT_DEATH(A[kSize + 5] = 0, "");
|
||||
if (kSize > 16)
|
||||
EXPECT_DEATH(A[kSize + 31] = 0, "");
|
||||
EXPECT_DEATH(A[kSize + 31] = 0, expected_death);
|
||||
}
|
||||
|
||||
TEST(AddressSanitizer, SimpleStackTest) {
|
||||
|
|
Loading…
Reference in New Issue