diff options
author | Martin Willi <martin@strongswan.org> | 2006-04-13 13:24:45 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2006-04-13 13:24:45 +0000 |
commit | 9d7597bb120e5e889f19038271f65455cda090f5 (patch) | |
tree | 19f73de2f1b3f3ddfede075f9d43bb44ef022fd5 /Source/testing/leak_detective_test.c | |
parent | 2cb7d3cab2b23f50bb406c99b8193a62ce4b8c00 (diff) | |
download | strongswan-9d7597bb120e5e889f19038271f65455cda090f5.tar.bz2 strongswan-9d7597bb120e5e889f19038271f65455cda090f5.tar.xz |
- leak detective is usable, but does not show static function names
- a script which gets address via ldd and resolves address via addr2line would be nice
- fixed a leak in child_sa with new detective ;-)
Diffstat (limited to 'Source/testing/leak_detective_test.c')
-rw-r--r-- | Source/testing/leak_detective_test.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Source/testing/leak_detective_test.c b/Source/testing/leak_detective_test.c index 193b81803..8d71d9f0f 100644 --- a/Source/testing/leak_detective_test.c +++ b/Source/testing/leak_detective_test.c @@ -23,21 +23,33 @@ #include "leak_detective_test.h" +void *mem_a, *mem_b, *mem_c; + void a() { - malloc(4); + mem_a = malloc(4); } void b() { a(); - malloc(5); + mem_b = malloc(5); } void c() { b(); - malloc(6); + mem_c = malloc(6); +} + +void recursive(int depth) +{ + void *tiny = malloc(1); + if (--depth > 0) + { + recursive(depth); + } + free(tiny); } @@ -59,5 +71,9 @@ void test_leak_detective(protected_tester_t *tester) free(m3); free(m1); - //c(); + c(); + free(mem_a); + free(mem_c); + free(mem_b); + recursive(10000); } |