aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/malloc.c
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-02-09 06:25:47 +0000
committerAnna Zaks <ganna@apple.com>2012-02-09 06:25:47 +0000
commitcdfec5e5ea0d1cfebe27888ef072346704424ed8 (patch)
tree9b77bdadbc64ad012a6169d6af6ff7ba2a940507 /test/Analysis/malloc.c
parent53a8b9789c8e87b67aa802e2df205db702c5ef27 (diff)
[analyzer] MallocChecker cleanup, more tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150155 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/malloc.c')
-rw-r--r--test/Analysis/malloc.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/test/Analysis/malloc.c b/test/Analysis/malloc.c
index f19510b639..190a2548d7 100644
--- a/test/Analysis/malloc.c
+++ b/test/Analysis/malloc.c
@@ -233,10 +233,35 @@ void mallocFreeMalloc() {
free(p);
}
-void MallocFreeUse_params() {
+void mallocFreeUse_params() {
int *p = malloc(12);
free(p);
myfoo(p); //expected-warning{{Use dynamically allocated memory after it is freed}}
myfooint(*p); //expected-warning{{Use dynamically allocated memory after it is freed}}
}
+int *Gl;
+struct GlStTy {
+ int *x;
+};
+
+struct GlStTy GlS = {0};
+
+void GlobalFree() {
+ free(Gl);
+}
+
+void GlobalMalloc() {
+ Gl = malloc(12);
+}
+
+void GlobalStructMalloc() {
+ int *a = malloc(12);
+ GlS.x = a;
+}
+
+void GlobalStructMallocFree() {
+ int *a = malloc(12);
+ GlS.x = a;
+ free(GlS.x);
+}