Fixed a memory leak in the attribute segmentation code

This commit is contained in:
Andreas Steffen
2015-02-27 15:13:26 +01:00
parent 1151c9922a
commit 8f5521cbac
3 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -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),
); );
+1 -1
View File
@@ -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,
+2 -2
View File
@@ -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