diff options
author | Devin Coughlin <dcoughlin@apple.com> | 2018-01-20 23:11:17 +0000 |
---|---|---|
committer | Devin Coughlin <dcoughlin@apple.com> | 2018-01-20 23:11:17 +0000 |
commit | 2ff57bcd18d3514c3f5baed6d34e02f885e81b28 (patch) | |
tree | b08dae3abff9858965590723381fed75ebb16d03 /clang/test/Analysis/malloc.c | |
parent | 5829d8f1f7ad3bf4796615caf941d97c116d815e (diff) | |
download | bcm5719-llvm-2ff57bcd18d3514c3f5baed6d34e02f885e81b28.tar.gz bcm5719-llvm-2ff57bcd18d3514c3f5baed6d34e02f885e81b28.zip |
[analyzer] Provide a check name when MallocChecker enables CStringChecker
Fix an assertion failure caused by a missing CheckName. The malloc checker
enables "basic" support in the CStringChecker, which causes some CString
bounds checks to be enabled. In this case, make sure that we have a
valid CheckName for the BugType.
llvm-svn: 323052
Diffstat (limited to 'clang/test/Analysis/malloc.c')
-rw-r--r-- | clang/test/Analysis/malloc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Analysis/malloc.c b/clang/test/Analysis/malloc.c index e08ec1b76cf..6e3f3faaa17 100644 --- a/clang/test/Analysis/malloc.c +++ b/clang/test/Analysis/malloc.c @@ -1777,6 +1777,15 @@ void freeFunctionPtr() { free((void *)fnptr); // expected-warning {{Argument to free() is a function pointer}} } +// Enabling the malloc checker enables some of the buffer-checking portions +// of the C-string checker. +void cstringchecker_bounds_nocrash() { + char *p = malloc(2); + strncpy(p, "AAA", sizeof("AAA")); // expected-warning {{Size argument is greater than the length of the destination buffer}} + + free(p); +} + // ---------------------------------------------------------------------------- // False negatives. |