aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2011-11-21 23:32:39 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-11-28 21:22:01 +0100
commit56fd3baa34191b86a876a7cf28d1c4a6f1c3e09a (patch)
tree5f1eab0282c381e5d0c00d7319d88bad0d6cc183 /src
parent893bf977c51e533b96b63a910e3349b192920e64 (diff)
downloadstrongswan-56fd3baa34191b86a876a7cf28d1c4a6f1c3e09a.tar.bz2
strongswan-56fd3baa34191b86a876a7cf28d1c4a6f1c3e09a.tar.xz
fixed two memory leaks
Diffstat (limited to 'src')
-rw-r--r--src/libpts/pts/components/ita/ita_comp_tboot.c4
-rw-r--r--src/libpts/pts/components/ita/ita_comp_tgrub.c3
-rw-r--r--src/libpts/pts/components/pts_comp_evidence.c2
-rw-r--r--src/libpts/tcg/tcg_pts_attr_req_func_comp_evid.c2
4 files changed, 6 insertions, 5 deletions
diff --git a/src/libpts/pts/components/ita/ita_comp_tboot.c b/src/libpts/pts/components/ita/ita_comp_tboot.c
index 7d1e67a06..dc47e4b11 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 aae3bf474..9a4da6d93 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 f6f40daa1..a1e590243 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 58f8a0c6c..062989572 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);
}