From: Anna Zaks Date: Tue, 21 Feb 2012 00:00:48 +0000 (+0000) Subject: [analyzer] + a couple more malloc tests. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=362054766d3dacb8a87c0ee3f503d096709adf08;p=clang [analyzer] + a couple more malloc tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151008 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/malloc-interprocedural.c b/test/Analysis/malloc-interprocedural.c index 8ae6024d7e..d3a2ea7508 100644 --- a/test/Analysis/malloc-interprocedural.c +++ b/test/Analysis/malloc-interprocedural.c @@ -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); +}