[analyzer] Malloc Checker: Give up when a pointer escapes into a struct.
We are not properly handling the memory regions that escape into struct
fields, which led to a bunch of false positives. Be conservative here
and give up when a pointer escapes into a struct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150658 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Analysis/malloc-annotations.c b/test/Analysis/malloc-annotations.c
index 98dc2e7..4ee60ae 100644
--- a/test/Analysis/malloc-annotations.c
+++ b/test/Analysis/malloc-annotations.c
@@ -68,9 +68,10 @@
myglobalpointer = my_malloc(12); // no-warning
}
+// TODO: We will be able to handle this after we add support for tracking allocations stored in struct fields.
void af1_d() {
struct stuff mystuff;
- mystuff.somefield = my_malloc(12); // expected-warning{{Allocated memory never released. Potential memory leak.}}
+ mystuff.somefield = my_malloc(12); // false negative
}
// Test that we can pass out allocated memory via pointer-to-pointer.