diff options
Diffstat (limited to 'test/Analysis/outofbound.c')
-rw-r--r-- | test/Analysis/outofbound.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/Analysis/outofbound.c b/test/Analysis/outofbound.c index 2142e9e..68e77ca 100644 --- a/test/Analysis/outofbound.c +++ b/test/Analysis/outofbound.c @@ -1,7 +1,15 @@ -// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -checker-cfref -analyzer-store=region -verify %s +// RUN: %clang_cc1 -analyze -analyzer-experimental-internal-checks -analyzer-experimental-checks -checker-cfref -analyzer-store=region -verify %s + +typedef __typeof(sizeof(int)) size_t; +void *malloc(size_t); char f1() { char* s = "abcd"; char c = s[4]; // no-warning return s[5] + c; // expected-warning{{Access out-of-bound array element (buffer overflow)}} } + +void f2() { + int *p = malloc(12); + p[3] = 4; // expected-warning{{Access out-of-bound array element (buffer overflow)}} +} |