forked from OSchip/llvm-project
24 lines
359 B
C++
24 lines
359 B
C++
// RUN: %clangxx_asan -O0 %s -o %t
|
|
// RUN: not %run %t 2>&1 | FileCheck %s
|
|
|
|
struct A {
|
|
int a[8];
|
|
};
|
|
|
|
int bar(A *a) {
|
|
int *volatile ptr = &a->a[0];
|
|
return *(ptr - 1);
|
|
}
|
|
|
|
void foo(A a) {
|
|
bar(&a);
|
|
}
|
|
|
|
int main() {
|
|
foo(A());
|
|
}
|
|
|
|
// CHECK: ERROR: AddressSanitizer: stack-buffer-underflow
|
|
// CHECK: READ of size 4 at
|
|
// CHECK: is located in stack of thread
|