aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libimcv/plugins/imc_attestation/imc_attestation.c11
-rw-r--r--src/libpts/tcg/tcg_pts_attr_simple_comp_evid.c10
2 files changed, 11 insertions, 10 deletions
diff --git a/src/libimcv/plugins/imc_attestation/imc_attestation.c b/src/libimcv/plugins/imc_attestation/imc_attestation.c
index 2a3deb935..993ea2568 100644
--- a/src/libimcv/plugins/imc_attestation/imc_attestation.c
+++ b/src/libimcv/plugins/imc_attestation/imc_attestation.c
@@ -599,11 +599,11 @@ TNC_Result TNC_IMC_ReceiveMessage(TNC_IMCID imc_id,
hasher_t *hasher;
u_char hash_output[HASH_SIZE_SHA384];
hash_algorithm_t hash_alg;
-
+
/* TODO: Implement BIOS measurement */
DBG1(DBG_IMC, "Experimental implementation:"
" Extend TPM with etc/tnc_config file");
-
+
params.flags = PTS_SIMPLE_COMP_EVID_FLAG_PCR | PTS_SIMPLE_COMP_EVID_FLAG_NO_VALID;
params.depth = 0;
params.vendor_id = PEN_TCG;
@@ -635,7 +635,8 @@ TNC_Result TNC_IMC_ReceiveMessage(TNC_IMCID imc_id,
hasher = lib->crypto->create_hasher(lib->crypto, hash_alg);
if (!hasher)
{
- DBG1(DBG_IMC, " hasher %N not available", hash_algorithm_names, hash_alg);
+ DBG1(DBG_IMC, " hasher %N not available",
+ hash_algorithm_names, hash_alg);
return TNC_RESULT_FATAL;
}
@@ -665,7 +666,6 @@ TNC_Result TNC_IMC_ReceiveMessage(TNC_IMCID imc_id,
return TNC_RESULT_FATAL;
}
params.measurement_time = chunk_create(utc_time, 20);
- params.measurement_time = chunk_clone(params.measurement_time);
}
params.measurement = chunk_create(hash_output, hasher->get_hash_size(hasher));
@@ -687,6 +687,7 @@ TNC_Result TNC_IMC_ReceiveMessage(TNC_IMCID imc_id,
/* Buffer Simple Component Evidence attribute */
attr = tcg_pts_attr_simple_comp_evid_create(params);
evidences->insert_last(evidences, attr);
+
break;
}
case PTS_FUNC_COMP_NAME_IGNORE:
@@ -724,7 +725,7 @@ TNC_Result TNC_IMC_ReceiveMessage(TNC_IMCID imc_id,
attr_list->insert_last(attr_list, attr);
e->destroy(e);
- evidences->destroy(evidences);
+ DESTROY_IF(evidences);
break;
}
diff --git a/src/libpts/tcg/tcg_pts_attr_simple_comp_evid.c b/src/libpts/tcg/tcg_pts_attr_simple_comp_evid.c
index 69ff00de1..493a22733 100644
--- a/src/libpts/tcg/tcg_pts_attr_simple_comp_evid.c
+++ b/src/libpts/tcg/tcg_pts_attr_simple_comp_evid.c
@@ -564,11 +564,11 @@ pa_tnc_attr_t *tcg_pts_attr_simple_comp_evid_create(
.extended_pcr = params.extended_pcr,
.hash_algorithm = params.hash_algorithm,
.transformation = params.transformation,
- .measurement_time = params.measurement_time,
- .policy_uri = params.policy_uri,
- .pcr_before = params.pcr_before,
- .pcr_after = params.pcr_after,
- .measurement = params.measurement,
+ .measurement_time = chunk_clone(params.measurement_time),
+ .policy_uri = chunk_clone(params.policy_uri),
+ .pcr_before = chunk_clone(params.pcr_before),
+ .pcr_after = chunk_clone(params.pcr_after),
+ .measurement = chunk_clone(params.measurement),
);
return &this->public.pa_tnc_attribute;