summaryrefslogtreecommitdiff
path: root/test/asan/TestCases/Linux/new_delete_mismatch_global.cc
blob: 3f1a78715cafea3b1cf574e7a625dbcc07226ab7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Check that we report delete on a memory that belongs to a global variable.

// RUN: %clangxx_asan -g %s -o %t && %env_asan_opts=alloc_dealloc_mismatch=1 not %run %t 2>&1 | FileCheck %s

#include <stdlib.h>

static volatile char *x;
char a[10];

int main() {
  x = &a[0];
  delete x;
}

// CHECK: AddressSanitizer: attempting free on address which was not malloc()-ed
// CHECK: is located 0 bytes inside of global variable 'a' defined in