blob: b78c93ad16c1b11a6cf13d17e0d91f88d6863c97 [file] [log] [blame]
Ted Kremenekd71ed262008-04-10 22:16:52 +00001// RUN: clang -checker-simple -verify %s
Ted Kremenek2f54af42008-04-02 16:54:39 +00002
3void f1(int *p) {
4 if (p) *p = 1;
5 else *p = 0; // expected-warning{{ereference}}
6}
Ted Kremenekb9ab6902008-04-21 23:44:17 +00007
8struct foo_struct {
9 int x;
10};
11
12int f2(struct foo_struct* p) {
13
14 if (p)
15 p->x = 1;
16
Ted Kremenek3603d732008-04-21 23:45:26 +000017 return p->x++; // expected-warning{{Dereference of null pointer.}}
Ted Kremenekb9ab6902008-04-21 23:44:17 +000018}
Ted Kremenek9704eac2008-04-22 04:56:55 +000019
20int f3(char* x) {
21
22 int i = 2;
23
24 if (x)
25 return x[i - 1];
26
27 return x[i+1]; // expected-warning{{Dereference of null pointer.}}
28}
29