From 360ef1606f989a12663d587b6ff5ee69d13c0795 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 30 Mar 2010 10:24:47 +0200 Subject: [PATCH] Fixed handling of IKE_SAs without a virtual IP in farp plugin --- src/libcharon/plugins/farp/farp_listener.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/libcharon/plugins/farp/farp_listener.c b/src/libcharon/plugins/farp/farp_listener.c index 3875c1faf..8eed49778 100644 --- a/src/libcharon/plugins/farp/farp_listener.c +++ b/src/libcharon/plugins/farp/farp_listener.c @@ -87,11 +87,14 @@ METHOD(listener_t, message_hook, bool, host_t *ip; ip = ike_sa->get_virtual_ip(ike_sa, FALSE); - ip = ip->clone(ip); - this->lock->write_lock(this->lock); - ip = this->ips->put(this->ips, ip, ip); - this->lock->unlock(this->lock); - DESTROY_IF(ip); + if (ip) + { + ip = ip->clone(ip); + this->lock->write_lock(this->lock); + ip = this->ips->put(this->ips, ip, ip); + this->lock->unlock(this->lock); + DESTROY_IF(ip); + } } return TRUE; }