Changing syntax of disable in cc_fuzz am: 6f71beb544 am: 2334c0e3fa am: f3ac98aa24
Change-Id: I9fdcd355217701524983ab8197ce8ae68d104636
diff --git a/sanitizer-status/sanitizer-status.c b/sanitizer-status/sanitizer-status.c
index d88baac..14730f1 100644
--- a/sanitizer-status/sanitizer-status.c
+++ b/sanitizer-status/sanitizer-status.c
@@ -20,6 +20,7 @@
#include <getopt.h>
#include <limits.h>
#include <paths.h>
+#include <pthread.h>
#include <pwd.h>
#include <stdbool.h>
#include <stdio.h>
@@ -33,7 +34,7 @@
void test_crash_malloc() {
volatile char* heap = malloc(32);
heap[32] = heap[32];
- printf("ASAN: Heap Test Failed\n");
+ printf("(HW)ASAN: Heap Test Failed\n");
}
// crashes if built with -fsanitize=address
@@ -41,7 +42,13 @@
volatile char stack[32];
volatile char* p_stack = stack;
p_stack[32] = p_stack[32];
- printf("ASAN: Stack Test Failed\n");
+ printf("(HW)ASAN: Stack Test Failed\n");
+}
+
+void test_crash_pthread_mutex_unlock() {
+ volatile char* heap = malloc(32);
+ pthread_mutex_unlock((void*)&heap[32]);
+ printf("HWASAN: Libc Test Failed\n");
}
int data_asan_exists() {
@@ -160,7 +167,7 @@
if (test_everything || have_option("asan", argv, argc)) {
int asan_failures = 0;
-#if !defined(ANDROID_SANITIZE_ADDRESS) && !defined(ANDROID_SANITIZE_HWADDRESS)
+#if !defined(ANDROID_SANITIZE_ADDRESS)
asan_failures += 1;
printf("ASAN: Compiler flags failed!\n");
#endif
@@ -175,6 +182,24 @@
failures += asan_failures;
}
+ if (test_everything || have_option("hwasan", argv, argc)) {
+ int hwasan_failures = 0;
+
+#if !defined(ANDROID_SANITIZE_HWADDRESS)
+ hwasan_failures += 1;
+ printf("HWASAN: Compiler flags failed!\n");
+#endif
+
+ hwasan_failures += test(test_crash_malloc);
+ hwasan_failures += test(test_crash_stack);
+ hwasan_failures += test(test_crash_pthread_mutex_unlock);
+
+ if (!hwasan_failures)
+ printf("HWASAN: OK\n");
+
+ failures += hwasan_failures;
+ }
+
if(test_everything || have_option("cov", argv, argc)) {
int cov_failures = 0;