fixed SIGSEGV when setup of an additional CHILD_SA fails

This commit is contained in:
Martin Willi
2006-10-30 09:53:54 +00:00
parent 7b898a0d8a
commit 5923be21b4
+8 -2
View File
@@ -928,8 +928,14 @@ static void destroy(private_create_child_sa_t *this)
DESTROY_IF(this->proposal);
DESTROY_IF(this->child_sa);
DESTROY_IF(this->policy);
this->tsi->destroy_offset(this->tsi, offsetof(traffic_selector_t, destroy));
this->tsr->destroy_offset(this->tsr, offsetof(traffic_selector_t, destroy));
if (this->tsi)
{
this->tsi->destroy_offset(this->tsi, offsetof(traffic_selector_t, destroy));
}
if (this->tsr)
{
this->tsr->destroy_offset(this->tsr, offsetof(traffic_selector_t, destroy));
}
chunk_free(&this->nonce_i);
chunk_free(&this->nonce_r);
chunk_free(&this->nonce_s);