Fixed a memory leak in the attribute segmentation code
This commit is contained in:
@@ -233,7 +233,7 @@ seg_env_t *seg_env_create(uint32_t base_attr_id, pa_tnc_attr_t *base_attr,
|
|||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.base_attr_id = base_attr_id,
|
.base_attr_id = base_attr_id,
|
||||||
.base_attr = base_attr->get_ref(base_attr),
|
.base_attr = base_attr,
|
||||||
.max_seg_size = max_seg_size,
|
.max_seg_size = max_seg_size,
|
||||||
.data = base_attr->get_value(base_attr),
|
.data = base_attr->get_value(base_attr),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ struct seg_env_t {
|
|||||||
* Create a PA-TNC attribute segment envelope object
|
* Create a PA-TNC attribute segment envelope object
|
||||||
*
|
*
|
||||||
* @param base_attr_id Base Attribute ID
|
* @param base_attr_id Base Attribute ID
|
||||||
* @param base_attr Base Attribute to be segmented
|
* @param base_attr Base Attribute to be segmented, owned by seg_env_t
|
||||||
* @param max_seg_size Maximum segment size
|
* @param max_seg_size Maximum segment size
|
||||||
*/
|
*/
|
||||||
seg_env_t* seg_env_create(uint32_t base_attr_id, pa_tnc_attr_t *base_attr,
|
seg_env_t* seg_env_create(uint32_t base_attr_id, pa_tnc_attr_t *base_attr,
|
||||||
|
|||||||
@@ -64,10 +64,11 @@ START_TEST(test_imcv_seg_env)
|
|||||||
libimcv_init(FALSE);
|
libimcv_init(FALSE);
|
||||||
max_seg_size = seg_env_tests[_i].max_seg_size;
|
max_seg_size = seg_env_tests[_i].max_seg_size;
|
||||||
last_seg_size = seg_env_tests[_i].last_seg_size;
|
last_seg_size = seg_env_tests[_i].last_seg_size;
|
||||||
|
|
||||||
base_attr = ita_attr_command_create(command);
|
base_attr = ita_attr_command_create(command);
|
||||||
base_attr->build(base_attr);
|
base_attr->build(base_attr);
|
||||||
|
|
||||||
seg_env = seg_env_create(id, base_attr, max_seg_size);
|
seg_env = seg_env_create(id, base_attr, max_seg_size);
|
||||||
|
|
||||||
if (seg_env_tests[_i].next_segs == 0)
|
if (seg_env_tests[_i].next_segs == 0)
|
||||||
{
|
{
|
||||||
ck_assert(seg_env == NULL);
|
ck_assert(seg_env == NULL);
|
||||||
@@ -156,7 +157,6 @@ START_TEST(test_imcv_seg_env)
|
|||||||
seg_env1->destroy(seg_env1);
|
seg_env1->destroy(seg_env1);
|
||||||
base_attr1->destroy(base_attr1);
|
base_attr1->destroy(base_attr1);
|
||||||
}
|
}
|
||||||
base_attr->destroy(base_attr);
|
|
||||||
libimcv_deinit();
|
libimcv_deinit();
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|||||||
Reference in New Issue
Block a user