From: Andreas Steffen Date: Mon, 21 Nov 2011 22:32:39 +0000 (+0100) Subject: fixed two memory leaks X-Git-Tag: 4.6.2~177 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=56fd3baa34191b86a876a7cf28d1c4a6f1c3e09a;p=thirdparty%2Fstrongswan.git fixed two memory leaks --- diff --git a/src/libpts/pts/components/ita/ita_comp_tboot.c b/src/libpts/pts/components/ita/ita_comp_tboot.c index 7d1e67a06f..dc47e4b117 100644 --- a/src/libpts/pts/components/ita/ita_comp_tboot.c +++ b/src/libpts/pts/components/ita/ita_comp_tboot.c @@ -105,8 +105,8 @@ METHOD(pts_component_t, measure, status_t, pcr_after = chunk_from_hex( chunk_create(pcr_after_hex, strlen(pcr_after_hex)), NULL); - evid = *evidence = pts_comp_evidence_create(this->name, 0, - this->extended_pcr, + evid = *evidence = pts_comp_evidence_create(this->name->clone(this->name), + 0, this->extended_pcr, PTS_MEAS_ALGO_SHA1, PTS_PCR_TRANSFORM_NO, this->measurement_time, measurement); evid->set_pcr_info(evid, pcr_before, pcr_after); diff --git a/src/libpts/pts/components/ita/ita_comp_tgrub.c b/src/libpts/pts/components/ita/ita_comp_tgrub.c index aae3bf4745..9a4da6d93d 100644 --- a/src/libpts/pts/components/ita/ita_comp_tgrub.c +++ b/src/libpts/pts/components/ita/ita_comp_tgrub.c @@ -77,7 +77,8 @@ METHOD(pts_component_t, measure, status_t, pcr_before = chunk_alloc(PCR_LEN); memset(pcr_before.ptr, 0x00, pcr_before.len); - evid = *evidence = pts_comp_evidence_create(this->name, 0, extended_pcr, + evid = *evidence = pts_comp_evidence_create(this->name->clone(this->name), + 0, extended_pcr, PTS_MEAS_ALGO_SHA1, PTS_PCR_TRANSFORM_NO, measurement_time, measurement); evid->set_pcr_info(evid, pcr_before, pcr_after); diff --git a/src/libpts/pts/components/pts_comp_evidence.c b/src/libpts/pts/components/pts_comp_evidence.c index f6f40daa11..a1e5902433 100644 --- a/src/libpts/pts/components/pts_comp_evidence.c +++ b/src/libpts/pts/components/pts_comp_evidence.c @@ -208,7 +208,7 @@ pts_comp_evidence_t *pts_comp_evidence_create(pts_comp_func_name_t *name, .set_validation = _set_validation, .destroy = _destroy, }, - .name = name->clone(name), + .name = name, .depth = depth, .extended_pcr = extended_pcr, .hash_algorithm = algo, diff --git a/src/libpts/tcg/tcg_pts_attr_req_func_comp_evid.c b/src/libpts/tcg/tcg_pts_attr_req_func_comp_evid.c index 58f8a0c6c0..062989572f 100644 --- a/src/libpts/tcg/tcg_pts_attr_req_func_comp_evid.c +++ b/src/libpts/tcg/tcg_pts_attr_req_func_comp_evid.c @@ -278,7 +278,7 @@ METHOD(tcg_pts_attr_req_func_comp_evid_t, add_component, void, entry = malloc_thing(entry_t); entry->flags = flags; entry->depth = depth; - entry->name = name->clone(name); + entry->name = name; this->list->insert_last(this->list, entry); }