diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-07-24 11:11:25 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-07-24 16:17:22 +0200 |
commit | e7d717cf016a7648dc6b42bfd7839a08713af7f7 (patch) | |
tree | db8fbb4341af8b1668451ce7edd2b8614f345613 /src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c | |
parent | e5455e9413839466ef6f2e0f8e93ae10e3bae2f3 (diff) | |
download | strongswan-e7d717cf016a7648dc6b42bfd7839a08713af7f7.tar.bz2 strongswan-e7d717cf016a7648dc6b42bfd7839a08713af7f7.tar.xz |
kernel-pfkey: Add sanity check when deleting policies
Diffstat (limited to 'src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c')
-rw-r--r-- | src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c b/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c index 214feac05..668c581e1 100644 --- a/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c +++ b/src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c @@ -2543,6 +2543,11 @@ METHOD(kernel_ipsec_t, del_policy, status_t, first = FALSE; } enumerator->destroy(enumerator); + if (!to_remove) + { /* sanity check */ + this->mutex->unlock(this->mutex); + return SUCCESS; + } policy->used_by->remove(policy->used_by, to_remove, NULL); mapping = to_remove; |