]> granicus.if.org Git - clang/commitdiff
[analyzer] + a couple more malloc tests.
authorAnna Zaks <ganna@apple.com>
Tue, 21 Feb 2012 00:00:48 +0000 (00:00 +0000)
committerAnna Zaks <ganna@apple.com>
Tue, 21 Feb 2012 00:00:48 +0000 (00:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151008 91177308-0d34-0410-b5e6-96231b3b80d8

test/Analysis/malloc-interprocedural.c

index 8ae6024d7e0cd32de41608f6d621ed5c9550dc6c..d3a2ea75083ec0bd50f44113d52373ddb8137d93 100644 (file)
@@ -32,6 +32,12 @@ static void test1() {
   my_malloc1(&data, 4); // expected-warning {{Memory is never released; potential memory leak}}
 }
 
+static void test11() {
+  void *data = 0;
+  my_malloc1(&data, 4);
+  my_free1(data);
+}
+
 static void test2() {
   void * data = my_malloc2(1, 4);
   data = my_malloc2(1, 4);// expected-warning {{Memory is never released; potential memory leak}}
@@ -52,3 +58,14 @@ int test4() {
   return *data; // expected-warning {{Use of memory after it is freed}}
 }
 
+void test6() {
+  int *data = (int *)my_malloc2(1, 4);
+  my_free1((int*)data);
+  my_free1((int*)data); // expected-warning{{Use of memory after it is freed}}
+}
+
+// TODO: We should warn here.
+void test5() {
+  int *data;
+  my_free1((int*)data);
+}