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 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