aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-05-29 10:49:57 +0200
committerTobias Brunner <tobias@strongswan.org>2017-05-29 10:50:58 +0200
commita09e79ed5d3147da91d1331002ed1438fdd67496 (patch)
treecf54ce7b4da6ff1f1e84b2c39b06ff944b2a68f4
parent85ee4107c5375a870f7b46f55eb85547ad108b87 (diff)
downloadstrongswan-a09e79ed5d3147da91d1331002ed1438fdd67496.tar.bz2
strongswan-a09e79ed5d3147da91d1331002ed1438fdd67496.tar.xz
ike-cfg: Fix memory leak when matching against ranges
traffic_selector_t::to_subnet() always sets the net/host (unless the address family was invalid). Fixes: 3070697f9f7c ("ike: support multiple addresses, ranges and subnets in IKE address config")
-rw-r--r--src/libcharon/config/ike_cfg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libcharon/config/ike_cfg.c b/src/libcharon/config/ike_cfg.c
index 480dd3720..93300781d 100644
--- a/src/libcharon/config/ike_cfg.c
+++ b/src/libcharon/config/ike_cfg.c
@@ -224,12 +224,12 @@ static u_int match(linked_list_t *hosts, linked_list_t *ranges, host_t *cand)
if (ts->to_subnet(ts, &host, &mask))
{
quality = max(quality, mask + 1);
- host->destroy(host);
}
else
{
quality = max(quality, 1);
}
+ host->destroy(host);
}
}
enumerator->destroy(enumerator);