From 5adb224bc21a1c2f3ba1f9f0569a1d2b0a8845a9 Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Mon, 24 Oct 2016 19:07:27 +0000 Subject: [PATCH] [asan] relax strstr tests. Darwin's implementation of strstr seems to trigger slightly different failure modes from Linux since it calls strncmp. All messages seem about equally useful and correct, so I relaxed the tests so Darwin can pass. llvm-svn: 285004 --- compiler-rt/test/asan/TestCases/strstr-1.c | 2 +- compiler-rt/test/asan/TestCases/strstr_strict.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler-rt/test/asan/TestCases/strstr-1.c b/compiler-rt/test/asan/TestCases/strstr-1.c index d0fa25b..06a8a8a 100644 --- a/compiler-rt/test/asan/TestCases/strstr-1.c +++ b/compiler-rt/test/asan/TestCases/strstr-1.c @@ -15,7 +15,7 @@ int main(int argc, char **argv) { char s1[4] = "acb"; __asan_poison_memory_region ((char *)&s1[2], 2); r = strstr(s1, s2); - // CHECK:'s1' <== Memory access at offset {{[0-9]+}} partially overflows this variable + // CHECK:'s1' <== Memory access at offset {{[0-9]+}} {{partially overflows this variable|is inside this variable}} assert(r == s1 + 1); return 0; } diff --git a/compiler-rt/test/asan/TestCases/strstr_strict.c b/compiler-rt/test/asan/TestCases/strstr_strict.c index 35ad93c..63e6b25 100644 --- a/compiler-rt/test/asan/TestCases/strstr_strict.c +++ b/compiler-rt/test/asan/TestCases/strstr_strict.c @@ -17,7 +17,7 @@ int main(int argc, char **argv) { s2[size - 1]='\0'; char* r = strstr(s1, s2); // CHECK: {{.*ERROR: AddressSanitizer: heap-buffer-overflow on address}} - // CHECK: READ of size 101 + // CHECK: READ of size {{101|100}} assert(r == s1); free(s1); free(s2); -- 2.7.4