From: Thomas Egerer Date: Fri, 4 Nov 2011 08:24:51 +0000 (+0100) Subject: Change order of destroy/get_ref function calls X-Git-Tag: 4.6.0~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dbd2169569d195954e5854147e34bb60520cdffc;p=thirdparty%2Fstrongswan.git Change order of destroy/get_ref function calls Since DESTROY_IF might destroy the peer_cfg, a get_ref on a freed object is subject to fail. --- diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c index 6536acf070..75868ab2cd 100644 --- a/src/libcharon/sa/ike_sa.c +++ b/src/libcharon/sa/ike_sa.c @@ -349,8 +349,8 @@ METHOD(ike_sa_t, get_peer_cfg, peer_cfg_t*, METHOD(ike_sa_t, set_peer_cfg, void, private_ike_sa_t *this, peer_cfg_t *peer_cfg) { - DESTROY_IF(this->peer_cfg); peer_cfg->get_ref(peer_cfg); + DESTROY_IF(this->peer_cfg); this->peer_cfg = peer_cfg; if (this->ike_cfg == NULL)