From 9d7597bb120e5e889f19038271f65455cda090f5 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 13 Apr 2006 13:24:45 +0000 Subject: [PATCH] - 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 ;-) --- Source/Makefile | 8 ++++---- Source/charon/config/child_proposal.o | Bin 35520 -> 0 bytes Source/charon/daemon.c | 7 +++---- Source/charon/sa/child_sa.c | 2 ++ Source/lib/utils/logger_manager.c | 3 +++ Source/lib/utils/logger_manager.h | 1 + Source/testing/leak_detective_test.c | 24 ++++++++++++++++++++---- 7 files changed, 33 insertions(+), 12 deletions(-) delete mode 100644 Source/charon/config/child_proposal.o diff --git a/Source/Makefile b/Source/Makefile index 27a0ea3d4..40308cacb 100644 --- a/Source/Makefile +++ b/Source/Makefile @@ -23,13 +23,13 @@ BUILD_DIR= ./bin/ BINNAMECHARON= $(BUILD_DIR)charon BINNAMESTROKE= $(BUILD_DIR)stroke BINNAMETEST= $(BUILD_DIR)run_tests -BINNAMELIB= $(BUILD_DIR)libstrong.so +BINNAMELIB= $(BUILD_DIR)libstrongswan.so MAIN_DIR= ./ LDFLAGS= -ldl -lgmp -lpthread -rdynamic -CFLAGS= -Icharon -Ilib -Istroke -Wall -g -fPIC #-DLEAK_DETECTIVE +CFLAGS= -Icharon -Ilib -Istroke -Wall -g -fPIC -DLEAK_DETECTIVE # objects is extended by each included Makefile CHARON_OBJS= @@ -61,10 +61,10 @@ $(BINNAMELIB) : build_dir $(LIB_OBJS) $(CC) -shared $(LIB_OBJS) -o $@ $(BINNAMECHARON) : build_dir $(CHARON_OBJS) $(BINNAMELIB) $(BUILD_DIR)daemon.o - $(CC) -ldl -lgmp -rdynamic -L./bin -lstrong -lpthread $(CHARON_OBJS) $(BUILD_DIR)daemon.o -o $@ + $(CC) -ldl -lgmp -rdynamic -L./bin -lstrongswan -lpthread $(CHARON_OBJS) $(BUILD_DIR)daemon.o -o $@ $(BINNAMETEST) : build_dir $(CHARON_OBJS) $(TEST_OBJS) $(BINNAMELIB) $(BUILD_DIR)testcases.o - $(CC) -L./bin -lstrong $(LDFLAGS) $(CHARON_OBJS) $(TEST_OBJS) $(BUILD_DIR)testcases.o -o $@ + $(CC) -L./bin -lstrongswan $(LDFLAGS) $(CHARON_OBJS) $(TEST_OBJS) $(BUILD_DIR)testcases.o -o $@ $(BINNAMESTROKE) : build_dir $(BINNAMELIB) $(BUILD_DIR)stroke.o $(CC) $(LDFLAGS) $(CFLAGS) $(BUILD_DIR)stroke.o -o $@ diff --git a/Source/charon/config/child_proposal.o b/Source/charon/config/child_proposal.o deleted file mode 100644 index 839923297a5038b6e9f5d860d35c29b4467ab4a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35520 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 X!log(logger, ERROR, "\t%s", strings[i]); + logger->log(logger, ERROR, " %s", strings[i]); } - free (strings); - - charon->kill(charon, "SIGSEGV received"); + /* kill ourselve the hard way, anything other may result in more SIGSEGVs*/ + kill(getpid(), SIGKILL); } /** diff --git a/Source/charon/sa/child_sa.c b/Source/charon/sa/child_sa.c index fd82f123b..28e9cdd46 100644 --- a/Source/charon/sa/child_sa.c +++ b/Source/charon/sa/child_sa.c @@ -447,6 +447,8 @@ static status_t add_policies(private_child_sa_t *this, linked_list_t *my_ts_list { my_iter->destroy(my_iter); other_iter->destroy(other_iter); + policy->my_net->destroy(policy->my_net); + policy->other_net->destroy(policy->other_net); free(policy); return status; } diff --git a/Source/lib/utils/logger_manager.c b/Source/lib/utils/logger_manager.c index ab2167699..de92d0aca 100644 --- a/Source/lib/utils/logger_manager.c +++ b/Source/lib/utils/logger_manager.c @@ -51,6 +51,8 @@ mapping_t logger_context_t_mappings[] = { {DER_DECODER, "DER_DECODER"}, {DER_ENCODER, "DER_ENCODER"}, {ASN1, "ASN1"}, + {XFRM, "XFRM"}, + {LEAK_DETECT, "LEAK_DETECT"}, {MAPPING_END, NULL}, }; @@ -80,6 +82,7 @@ struct { { "DEREC", ERROR|CONTROL|AUDIT|LEVEL0, TRUE }, /* DER_ENCODER */ { "ASN_1", ERROR|CONTROL|AUDIT|LEVEL0, TRUE }, /* ASN1 */ { "XFRM ", ERROR|CONTROL|AUDIT|LEVEL0, TRUE }, /* XFRM */ + { "LEAKD", ERROR|CONTROL|AUDIT|LEVEL0, FALSE}, /* LEAK_DETECT */ }; diff --git a/Source/lib/utils/logger_manager.h b/Source/lib/utils/logger_manager.h index 08154911a..24806b80f 100644 --- a/Source/lib/utils/logger_manager.h +++ b/Source/lib/utils/logger_manager.h @@ -59,6 +59,7 @@ enum logger_context_t { DER_ENCODER, ASN1, XFRM, + LEAK_DETECT, LOGGER_CONTEXT_ROOF, }; 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); }