Update Sanitizer tests for Android R.
authorMitch Phillips <31459023+hctim@users.noreply.github.com>
Thu, 27 Feb 2020 22:15:09 +0000 (14:15 -0800)
committerMitch Phillips <31459023+hctim@users.noreply.github.com>
Thu, 27 Feb 2020 22:15:21 +0000 (14:15 -0800)
Summary:
Sanitizer tests don't entirely pass on an R device. Fix up all the
incompatibilities with the new system.

Reviewers: eugenis, pcc

Reviewed By: eugenis

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D75303

compiler-rt/test/asan/TestCases/Posix/no-fd.cpp
compiler-rt/test/asan/TestCases/strstr_strict.c
compiler-rt/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cpp

index 086b014..ee355b5 100644 (file)
@@ -4,6 +4,11 @@
 
 // Test ASan initialization
 
+// This test closes the 0, 1, and 2 file descriptors before an exec() and relies
+// on them remaining closed across an execve(). This is not the case on newer
+// versions of Android.
+// UNSUPPORTED: android
+
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
index 63e6b25..7d2c4ec 100644 (file)
@@ -1,6 +1,12 @@
 // Test strict_string_checks option in strstr function
 // RUN: %clang_asan %s -o %t && %run %t 2>&1
+
+// Newer versions of Android's strstr() uses memchr() internally, which actually
+// does trigger a heap-buffer-overflow (as it tries to find the
+// null-terminator).
+// UNSUPPORTED: android
 // RUN: %env_asan_opts=strict_string_checks=false %run %t 2>&1
+
 // RUN: %env_asan_opts=strict_string_checks=true not %run %t 2>&1 | FileCheck %s
 
 #include <assert.h>
index cfcf0e3..b8c1a5f 100644 (file)
@@ -1,5 +1,9 @@
 // RUN: %clangxx -g %s -o %t && %run %t
 
+// Newer versions of Android have FDSan, and will fail this test as FDSan will
+// catch the error instead.
+// UNSUPPORTED: android
+
 #include <assert.h>
 #include <stdio.h>
 #include <unistd.h>