1 // RUN: %clangxx_asan -O0 %s -o %t 2 // RUN: not %run %t 2>&1 | FileCheck %s 3 4 struct A { 5 int a[8]; 6 }; 7 bar(A * a)8int bar(A *a) { 9 int *volatile ptr = &a->a[0]; 10 return *(ptr - 1); 11 } 12 foo(A a)13void foo(A a) { 14 bar(&a); 15 } 16 main()17int main() { 18 foo(A()); 19 } 20 21 // CHECK: ERROR: AddressSanitizer: stack-buffer-underflow 22 // CHECK: READ of size 4 at 23 // CHECK: is located in stack of thread 24