diff options
author | Jordy Rose <jediknil@belkadan.com> | 2010-07-08 23:57:29 +0000 |
---|---|---|
committer | Jordy Rose <jediknil@belkadan.com> | 2010-07-08 23:57:29 +0000 |
commit | d5d2e50f3ed373cfc45a0406fb9cd70f5522a0eb (patch) | |
tree | 6d95fa740c0d98cb1e2e08f21483a63e14874cdf /clang/test/Analysis/bstring.c | |
parent | f469307c77637ddbbf6b7167b9d31cb20f39a040 (diff) | |
download | bcm5719-llvm-d5d2e50f3ed373cfc45a0406fb9cd70f5522a0eb.tar.gz bcm5719-llvm-d5d2e50f3ed373cfc45a0406fb9cd70f5522a0eb.zip |
Cleanup in CStringChecker. Now properly bifurcates the state for zero/nonzero sizes.
llvm-svn: 107935
Diffstat (limited to 'clang/test/Analysis/bstring.c')
-rw-r--r-- | clang/test/Analysis/bstring.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Analysis/bstring.c b/clang/test/Analysis/bstring.c index 59d6318db33..f4ddb0a3d08 100644 --- a/clang/test/Analysis/bstring.c +++ b/clang/test/Analysis/bstring.c @@ -238,6 +238,14 @@ void memcmp5 (char *input) { (void)*(char*)0; // no-warning } +void memcmp6 (char *a, char *b, size_t n) { + int result = memcmp(a, b, n); + if (result != 0) + return; + if (n == 0) + (void)*(char*)0; // expected-warning{{null}} +} + //===----------------------------------------------------------------------=== // bcopy() //===----------------------------------------------------------------------=== |