summaryrefslogtreecommitdiff
path: root/clang/test/Analysis/keychainAPI.m
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-02-23 22:53:29 +0000
committerAnna Zaks <ganna@apple.com>2012-02-23 22:53:29 +0000
commit4b062cb9047629ae3d75dff047da8bb0ae583cac (patch)
tree287e4960df835ff2caa5a23f4f607678c4662ff6 /clang/test/Analysis/keychainAPI.m
parent86f8266b9f6dc2452176ae5a8edca52ce785a424 (diff)
[analyzer] KeyChainAPI: unique the leaks by allocation site.
(Very similar to the previous change in malloc.) llvm-svn: 151297
Diffstat (limited to 'clang/test/Analysis/keychainAPI.m')
-rw-r--r--clang/test/Analysis/keychainAPI.m13
1 files changed, 11 insertions, 2 deletions
diff --git a/clang/test/Analysis/keychainAPI.m b/clang/test/Analysis/keychainAPI.m
index a98ebfdf42af..c91982fef0dc 100644
--- a/clang/test/Analysis/keychainAPI.m
+++ b/clang/test/Analysis/keychainAPI.m
@@ -370,9 +370,18 @@ void allocAndFree1() {
my_FreeParam(ptr, outData);
}
-void allocNoFree2() {
+void consumeChar(char);
+
+void allocNoFree2(int x) {
OSStatus st = 0;
- void *outData = my_AllocateReturn(&st); // expected-warning{{Allocated data is not released:}}
+ void *outData = my_AllocateReturn(&st);
+ if (x) {
+ consumeChar(*(char*)outData); // expected-warning{{Allocated data is not released:}}
+ return;
+ } else {
+ consumeChar(*(char*)outData);
+ }
+ return;
}
void allocAndFree2(void *attrList) {