aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2016-06-09 11:46:06 +0200
committerTobias Brunner <tobias@strongswan.org>2016-06-09 11:46:06 +0200
commitb3a3756abe91208ebf13c436a0f9a3dff5ac7f9c (patch)
tree949cc985e03e88b8597de698bfefcfaa97c46780 /src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
parent50053250201b2d81383643b91164d95d6ca5c329 (diff)
parent1ba2b015fae7b9f37500e9aff515cd532e5a8781 (diff)
downloadstrongswan-b3a3756abe91208ebf13c436a0f9a3dff5ac7f9c.tar.bz2
strongswan-b3a3756abe91208ebf13c436a0f9a3dff5ac7f9c.tar.xz
Merge branch 'ipsec-sa-cfg-equals'
Fixes the comparison of ipsec_sa_cfg_t instances in case there is padding that's not initialized to zero. Fixes #1503.
Diffstat (limited to 'src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c')
-rw-r--r--src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c b/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
index add4761f6..ab896a4ae 100644
--- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
+++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
@@ -414,8 +414,9 @@ static bool ipsec_sa_equals(ipsec_sa_t *sa, ipsec_sa_t *other_sa)
{
return sa->src->ip_equals(sa->src, other_sa->src) &&
sa->dst->ip_equals(sa->dst, other_sa->dst) &&
- memeq(&sa->mark, &other_sa->mark, sizeof(mark_t)) &&
- memeq(&sa->cfg, &other_sa->cfg, sizeof(ipsec_sa_cfg_t));
+ sa->mark.value == other_sa->mark.value &&
+ sa->mark.mask == other_sa->mark.mask &&
+ ipsec_sa_cfg_equals(&sa->cfg, &other_sa->cfg);
}
/**