xref: /llvm-project/compiler-rt/test/scudo/fsanitize.c (revision f7c5c0d87b8ae5e55006fd3a31994cd68d64f102)
1 // Test various -fsanitize= additional flags combinations.
2 
3 // RUN: %clang_scudo %s -o %t
4 // RUN: not %run %t 2>&1 | FileCheck %s
5 
6 // RUN: %clang_scudo -shared-libsan %s -o %t
7 // RUN: env LD_LIBRARY_PATH=`dirname %shared_libscudo`:$LD_LIBRARY_PATH not %run %t 2>&1 | FileCheck %s
8 // RUN: %clang_scudo -shared-libsan -fsanitize-minimal-runtime %s -o %t
9 // RUN: env LD_LIBRARY_PATH=`dirname %shared_minlibscudo`:$LD_LIBRARY_PATH not %run %t 2>&1 | FileCheck %s
10 
11 // RUN: %clang_scudo -static-libsan %s -o %t
12 // RUN: not %run %t 2>&1 | FileCheck %s
13 // RUN: %clang_scudo -static-libsan -fsanitize-minimal-runtime %s -o %t
14 // RUN: not %run %t 2>&1 | FileCheck %s
15 
16 #include <assert.h>
17 #include <stdlib.h>
18 
main(int argc,char * argv[])19 int main(int argc, char *argv[]) {
20   unsigned long *p = (unsigned long *)malloc(sizeof(unsigned long));
21   assert(p);
22   *p = 0;
23   free(p);
24   free(p);
25   return 0;
26 }
27 
28 // CHECK: ERROR: invalid chunk state
29