]>
Commit | Line | Data |
---|---|---|
92a42be0 SL |
1 | // RUN: %clang_cl_asan -O0 %s -Fe%t |
2 | // RUN: not %run %t 2>&1 | FileCheck %s | |
3 | ||
4 | #include <malloc.h> | |
5 | ||
6 | int main() { | |
7 | int *buffer = (int*)calloc(42, sizeof(int)); | |
8 | free(buffer); | |
9 | buffer[0] = 42; | |
10 | // CHECK: AddressSanitizer: heap-use-after-free on address [[ADDR:0x[0-9a-f]+]] | |
11 | // CHECK: WRITE of size 4 at [[ADDR]] thread T0 | |
12 | // CHECK-NEXT: {{#0 .* main .*calloc_uaf.cc}}:[[@LINE-3]] | |
13 | // CHECK: [[ADDR]] is located 0 bytes inside of 168-byte region | |
14 | // CHECK: freed by thread T0 here: | |
15 | // CHECK-NEXT: {{#0 .* free }} | |
16 | // CHECK-NEXT: {{#1 .* main .*calloc_uaf.cc}}:[[@LINE-8]] | |
17 | // CHECK: previously allocated by thread T0 here: | |
18 | // CHECK-NEXT: {{#0 .* calloc }} | |
19 | // CHECK-NEXT: {{#1 .* main .*calloc_uaf.cc}}:[[@LINE-12]] | |
20 | } |