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
7static volatile char *x;
8
9int 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

source code of compiler-rt/test/asan/TestCases/Linux/new_delete_mismatch_stack.cpp