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,
|
||||
},
|
||||
.base_attr_id = base_attr_id,
|
||||
.base_attr = base_attr->get_ref(base_attr),
|
||||
.base_attr = base_attr,
|
||||
.max_seg_size = max_seg_size,
|
||||
.data = base_attr->get_value(base_attr),
|
||||
);
|
||||
|
||||
@@ -98,7 +98,7 @@ struct seg_env_t {
|
||||
* Create a PA-TNC attribute segment envelope object
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
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);
|
||||
max_seg_size = seg_env_tests[_i].max_seg_size;
|
||||
last_seg_size = seg_env_tests[_i].last_seg_size;
|
||||
|
||||
base_attr = ita_attr_command_create(command);
|
||||
base_attr->build(base_attr);
|
||||
|
||||
seg_env = seg_env_create(id, base_attr, max_seg_size);
|
||||
|
||||
if (seg_env_tests[_i].next_segs == 0)
|
||||
{
|
||||
ck_assert(seg_env == NULL);
|
||||
@@ -156,7 +157,6 @@ START_TEST(test_imcv_seg_env)
|
||||
seg_env1->destroy(seg_env1);
|
||||
base_attr1->destroy(base_attr1);
|
||||
}
|
||||
base_attr->destroy(base_attr);
|
||||
libimcv_deinit();
|
||||
}
|
||||
END_TEST
|
||||
|
||||
Reference in New Issue
Block a user