summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/bstring.c
diff options
context:
space:
mode:
authorJordy Rose <jediknil@belkadan.com>2010-08-05 23:11:30 +0000
committerJordy Rose <jediknil@belkadan.com>2010-08-05 23:11:30 +0000
commitafdb053618de7f087315b64c6a9bbdeac573516d (patch)
treeec60bf99dffb1d37782e6b79de81f278cda12b6c /clang/test/Analysis/bstring.c
parent3d19889ca865c4a1360ac99f3aa4be7cf9fda5db (diff)
downloadbcm5719-llvm-afdb053618de7f087315b64c6a9bbdeac573516d.tar.gz
bcm5719-llvm-afdb053618de7f087315b64c6a9bbdeac573516d.zip
When checking if a buffer access is valid, first make sure the buffer has a valid Loc. Fixes PR7830.
llvm-svn: 110390
Diffstat (limited to 'clang/test/Analysis/bstring.c')
-rw-r--r--clang/test/Analysis/bstring.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/test/Analysis/bstring.c b/clang/test/Analysis/bstring.c
index 418b3233003..ae9ba4f973e 100644
--- a/clang/test/Analysis/bstring.c
+++ b/clang/test/Analysis/bstring.c
@@ -246,6 +246,12 @@ void memcmp6 (char *a, char *b, size_t n) {
(void)*(char*)0; // expected-warning{{null}}
}
+int memcmp7 (char *a, size_t x, size_t y, size_t n) {
+ // We used to crash when either of the arguments was unknown.
+ return memcmp(a, &a[x*y], n) +
+ memcmp(&a[x*y], a, n);
+}
+
//===----------------------------------------------------------------------===
// bcopy()
//===----------------------------------------------------------------------===
OpenPOWER on IntegriCloud