diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-05-21 13:19:57 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-05-21 13:33:13 +0200 |
commit | 9e19cb912de885f86205f5d06a2bf8cf89ca4294 (patch) | |
tree | 739cd432f9b56646db5acb68bfd42981b274a54f /src/libhydra | |
parent | 75d4e01c4a0739bb580664728189b549f20ff940 (diff) | |
download | strongswan-9e19cb912de885f86205f5d06a2bf8cf89ca4294.tar.bz2 strongswan-9e19cb912de885f86205f5d06a2bf8cf89ca4294.tar.xz |
Destroy Netlink socket only after deleting remaining source routes.
Diffstat (limited to 'src/libhydra')
-rw-r--r-- | src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c index 8a5eaa0f7..c64a66be2 100644 --- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c +++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c @@ -1762,8 +1762,6 @@ METHOD(kernel_net_t, destroy, void, { close(this->socket_events); } - DESTROY_IF(this->socket); - enumerator = this->routes->create_enumerator(this->routes); while (enumerator->enumerate(enumerator, NULL, (void**)&route)) { @@ -1773,6 +1771,7 @@ METHOD(kernel_net_t, destroy, void, } enumerator->destroy(enumerator); this->routes->destroy(this->routes); + DESTROY_IF(this->socket); net_changes_clear(this); this->net_changes->destroy(this->net_changes); |