1 // Check that we report delete on a memory that belongs to a stack variable.
2
3 // RUN: %clangxx_asan -g %s -o %t && %env_asan_opts=alloc_dealloc_mismatch=1 not %run %t 2>&1 | FileCheck %s
4
5 #include <stdlib.h>
6
7 static volatile char *x;
8
main()9 int main() {
10 char a[10];
11 x = &a[0];
12 delete x;
13 }
14
15 // CHECK: AddressSanitizer: attempting free on address which was not malloc()-ed
16 // CHECK: is located in stack of thread T0 at offset
17 // CHECK: 'a'{{.*}} <== Memory access at offset {{16|32}} is inside this variable
18