[prev in list] [next in list] [prev in thread] [next in thread] 

List:       strongswan-announce
Subject:    [strongSwan-dev] [PATCH 3/8] Change order of destroy/get_ref
From:       Thomas Egerer <thomas.egerer () secunet ! com>
Date:       2011-11-04 8:24:51
Message-ID: 4EB3A153.30302 () secunet ! com
[Download RAW message or body]

Since DESTROY_IF might destroy the peer_cfg, a get_ref on a freed object
is subject to fail.
---
 src/libcharon/sa/ike_sa.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)



["0003-Change-order-of-destroy-get_ref-function-calls.patch" (text/x-patch)]

diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c
index 6536acf..75868ab 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)



_______________________________________________
Dev mailing list
Dev@lists.strongswan.org
https://lists.strongswan.org/mailman/listinfo/dev

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic