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/charon | |
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/charon')
-rw-r--r-- | Source/charon/config/child_proposal.o | bin | 35520 -> 0 bytes | |||
-rw-r--r-- | Source/charon/daemon.c | 7 | ||||
-rw-r--r-- | Source/charon/sa/child_sa.c | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/Source/charon/config/child_proposal.o b/Source/charon/config/child_proposal.o Binary files differdeleted file mode 100644 index 839923297..000000000 --- a/Source/charon/config/child_proposal.o +++ /dev/null diff --git a/Source/charon/daemon.c b/Source/charon/daemon.c index 6361f308d..aafc86ab1 100644 --- a/Source/charon/daemon.c +++ b/Source/charon/daemon.c @@ -263,12 +263,11 @@ void signal_handler(int signal) for (i = 0; i < size; i++) { - logger->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; } |