From: Martin Willi Date: Tue, 30 Mar 2010 08:24:47 +0000 (+0200) Subject: Fixed handling of IKE_SAs without a virtual IP in farp plugin X-Git-Tag: 4.4.0~152 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=360ef1606f989a12663d587b6ff5ee69d13c0795;p=thirdparty%2Fstrongswan.git Fixed handling of IKE_SAs without a virtual IP in farp plugin --- diff --git a/src/libcharon/plugins/farp/farp_listener.c b/src/libcharon/plugins/farp/farp_listener.c index 3875c1fafb..8eed497785 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; }