Files
clang-p2996/clang/test/Analysis/invalid-deref.c
Balázs Kéri 497d060d0a [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker.
Report undefined pointer dereference in similar way as null pointer dereference.

Reviewed By: NoQ

Differential Revision: https://reviews.llvm.org/D84520
2020-08-11 10:10:13 +02:00

33 lines
721 B
C

// RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s
typedef unsigned uintptr_t;
void f1() {
int *p;
*p = 0; // expected-warning{{Dereference of undefined pointer value}}
}
struct foo_struct {
int x;
};
int f2() {
struct foo_struct *p;
return p->x++; // expected-warning{{Access to field 'x' results in a dereference of an undefined pointer value (loaded from variable 'p')}}
}
int f3() {
char *x;
int i = 2;
return x[i + 1]; // expected-warning{{Array access (from variable 'x') results in an undefined pointer dereference}}
}
int f3_b() {
char *x;
int i = 2;
return x[i + 1]++; // expected-warning{{Array access (from variable 'x') results in an undefined pointer dereference}}
}