stackaddrleak.c revision 2c46458d4cd96a3a33e8810e95e692d8e2e05ff3
1// RUN: %clang_cc1 -analyze -analyzer-check-objc-mem -analyzer-store region -analyzer-experimental-internal-checks -verify %s
2
3char const *p;
4
5void f0() {
6  char const str[] = "This will change";
7  p = str; // expected-warning {{Stack address was saved into a global variable.}}
8}
9
10void f1() {
11  char const str[] = "This will change";
12  p = str;
13  p = 0; // no-warning
14}
15
16void f2() {
17  p = (const char *) __builtin_alloca(12); // expected-warning {{Stack address was saved into a global variable.}}
18}
19