Fix some issues and do some code cleanup

This commit is contained in:
Justine Tunney 2022-05-23 10:15:53 -07:00
parent 1f229e4efc
commit 312ed5c67c
72 changed files with 880 additions and 982 deletions

View file

@ -46,6 +46,27 @@ TEST(asan, test) {
EXPECT_FALSE(__asan_is_valid(p, 64 + 4));
EXPECT_TRUE(__asan_is_valid(p + 1, 64 + 2));
EXPECT_FALSE(__asan_is_valid(p + 1, 64 + 3));
EXPECT_FALSE(__asan_is_valid(p - 1, 64));
}
TEST(asan, test2) {
char *p;
if (!IsAsan()) return;
p = gc(memalign(16, 64));
// asan design precludes this kind of poisoning
__asan_poison(p + 1, 1, kAsanProtected);
EXPECT_TRUE(__asan_is_valid(p, 2));
EXPECT_TRUE(__asan_is_valid(p + 1, 2));
// but we can do this
__asan_poison(p + 7, 1, kAsanProtected);
EXPECT_TRUE(__asan_is_valid(p + 6, 1));
EXPECT_FALSE(__asan_is_valid(p + 7, 1));
EXPECT_TRUE(__asan_is_valid(p + 8, 1));
EXPECT_FALSE(__asan_is_valid(p + 6, 2));
EXPECT_FALSE(__asan_is_valid(p + 7, 2));
EXPECT_FALSE(__asan_is_valid(p + 6, 3));
__asan_unpoison(p + 7, 1);
EXPECT_TRUE(__asan_is_valid(p + 6, 3));
}
TEST(asan, testEmptySize_isAlwaysValid) {