null-deref-ps.c revision 9704eacf27608cf3549014dd198b0f1148a4a3a0
1// RUN: clang -checker-simple -verify %s 2 3void f1(int *p) { 4 if (p) *p = 1; 5 else *p = 0; // expected-warning{{ereference}} 6} 7 8struct foo_struct { 9 int x; 10}; 11 12int f2(struct foo_struct* p) { 13 14 if (p) 15 p->x = 1; 16 17 return p->x++; // expected-warning{{Dereference of null pointer.}} 18} 19 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 30