aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2015-08-27 14:45:11 +0200
committerTobias Brunner <tobias@strongswan.org>2015-08-27 14:45:11 +0200
commit03024f4ca8566efd98e95ffe29a33c95733ad832 (patch)
tree4ff9b641d93526303d09f88034be975c4143014c /src
parent30ac5c331a7889f0ca3a5bdb7e461d4ae842e82c (diff)
downloadstrongswan-03024f4ca8566efd98e95ffe29a33c95733ad832.tar.bz2
strongswan-03024f4ca8566efd98e95ffe29a33c95733ad832.tar.xz
trap-manager: Cleanup local address in error cases
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/trap_manager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libcharon/sa/trap_manager.c b/src/libcharon/sa/trap_manager.c
index 8b17f65ec..63505c960 100644
--- a/src/libcharon/sa/trap_manager.c
+++ b/src/libcharon/sa/trap_manager.c
@@ -211,6 +211,7 @@ METHOD(trap_manager_t, install, u_int32_t,
if (this->installing == INSTALL_DISABLED)
{ /* flush() has been called */
this->lock->unlock(this->lock);
+ me->destroy(me);
return 0;
}
enumerator = this->traps->create_enumerator(this->traps);
@@ -234,6 +235,7 @@ METHOD(trap_manager_t, install, u_int32_t,
{
DBG1(DBG_CFG, "CHILD_SA '%s' is already being routed", found->name);
this->lock->unlock(this->lock);
+ me->destroy(me);
return 0;
}
/* config might have changed so update everything */