]>
Commit | Line | Data |
---|---|---|
5bcae85e SL |
1 | // RUN: %clangxx_asan -O1 -fsanitize-address-use-after-scope %s -o %t && \ |
2 | // RUN: not %run %t 2>&1 | FileCheck %s | |
5bcae85e SL |
3 | |
4 | #include <stdlib.h> | |
5 | ||
6 | int *p; | |
7 | ||
8 | int main() { | |
9 | for (int i = 0; i < 3; i++) { | |
10 | int x; | |
11 | p = &x; | |
12 | } | |
7cac9316 | 13 | return *p; // BOOM |
5bcae85e | 14 | // CHECK: ERROR: AddressSanitizer: stack-use-after-scope |
7cac9316 XL |
15 | // CHECK: #0 0x{{.*}} in main {{.*}}use-after-scope-loop-removed.cc:[[@LINE-2]] |
16 | // CHECK: Address 0x{{.*}} is located in stack of thread T{{.*}} at offset [[OFFSET:[^ ]+]] in frame | |
17 | // {{\[}}[[OFFSET]], {{[0-9]+}}) 'x' | |
5bcae85e | 18 | } |