deleted newly constructed attributes in send_assessment

This commit is contained in:
Andreas Steffen
2012-12-24 12:06:12 +01:00
parent a0117b9122
commit 6be6a52405
3 changed files with 7 additions and 21 deletions
+6 -12
View File
@@ -195,6 +195,12 @@ METHOD(imv_msg_t, send_assessment, TNC_Result,
char *lang_code = NULL, *uri = NULL;
enumerator_t *e;
/* Remove any attributes that have already been constructed */
while (this->attr_list->remove_last(this->attr_list, (void**)&attr) == SUCCESS)
{
attr->destroy(attr);
}
/* Send an IETF Assessment Result attribute if enabled */
if (lib->settings->get_bool(lib->settings, "libimcv.assessment_result",
TRUE))
@@ -306,17 +312,6 @@ METHOD(imv_msg_t, receive, TNC_Result,
return TNC_RESULT_SUCCESS;
}
METHOD(imv_msg_t, delete_attributes, void,
private_imv_msg_t *this)
{
pa_tnc_attr_t *attr;
while (this->attr_list->remove_last(this->attr_list, (void**)&attr) == SUCCESS)
{
attr->destroy(attr);
}
}
METHOD(imv_msg_t, create_attribute_enumerator, enumerator_t*,
private_imv_msg_t *this)
{
@@ -361,7 +356,6 @@ imv_msg_t *imv_msg_create(imv_agent_t *agent, imv_state_t *state,
.send_assessment = _send_assessment,
.receive = _receive,
.add_attribute = _add_attribute,
.delete_attributes = _delete_attributes,
.create_attribute_enumerator = _create_attribute_enumerator,
.get_encoding = _get_encoding,
.destroy = _destroy,
-6
View File
@@ -84,12 +84,6 @@ struct imv_msg_t {
*/
void (*add_attribute)(imv_msg_t *this, pa_tnc_attr_t *attr);
/**
* Delete all PA-TNC attributes in the send queue
*
*/
void (*delete_attributes)(imv_msg_t *this);
/**
* Enumerator over PA-TNC attributes contained in the PA-TNC message
*
@@ -285,9 +285,8 @@ static TNC_Result receive_message(imv_state_t *state, imv_msg_t *in_msg)
if (fatal_error || result != TNC_RESULT_SUCCESS)
{
out_msg->delete_attributes(out_msg);
state->set_recommendation(state,
TNC_IMV_ACTION_RECOMMENDATION_ISOLATE,
TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION,
TNC_IMV_EVALUATION_RESULT_ERROR);
result = out_msg->send_assessment(out_msg);
out_msg->destroy(out_msg);
@@ -315,7 +314,6 @@ static TNC_Result receive_message(imv_state_t *state, imv_msg_t *in_msg)
state->set_recommendation(state,
TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION,
TNC_IMV_EVALUATION_RESULT_ERROR);
out_msg->delete_attributes(out_msg);
result = out_msg->send_assessment(out_msg);
out_msg->destroy(out_msg);
if (result != TNC_RESULT_SUCCESS)