diff options
author | Tobias Brunner <tobias@strongswan.org> | 2015-08-27 14:45:11 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2015-08-27 14:45:11 +0200 |
commit | 03024f4ca8566efd98e95ffe29a33c95733ad832 (patch) | |
tree | 4ff9b641d93526303d09f88034be975c4143014c | |
parent | 30ac5c331a7889f0ca3a5bdb7e461d4ae842e82c (diff) | |
download | strongswan-03024f4ca8566efd98e95ffe29a33c95733ad832.tar.bz2 strongswan-03024f4ca8566efd98e95ffe29a33c95733ad832.tar.xz |
trap-manager: Cleanup local address in error cases
-rw-r--r-- | src/libcharon/sa/trap_manager.c | 2 |
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 */ |