1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| // RUN: %clang_cl_asan -Od %s -Fe%t
// RUN: %run %t 2>&1 | FileCheck %s
// RUN: %env_asan_opts=windows_hook_rtl_allocators=true %run %t 2>&1 | FileCheck %s
// UNSUPPORTED: asan-64-bits
#include <assert.h>
#include <stdio.h>
#include <windows.h>
extern "C" int
__sanitizer_get_ownership(const volatile void *p);
int main() {
char *buffer;
buffer = (char *)HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS, 32);
buffer[0] = 'a';
assert(!__sanitizer_get_ownership(buffer));
HeapFree(GetProcessHeap(), 0, buffer);
puts("Okay");
// CHECK: Okay
}
|