diff --git a/src/libimcv/plugins/imc_attestation/imc_attestation.c b/src/libimcv/plugins/imc_attestation/imc_attestation.c index 0109c2945..b676eaca5 100644 --- a/src/libimcv/plugins/imc_attestation/imc_attestation.c +++ b/src/libimcv/plugins/imc_attestation/imc_attestation.c @@ -310,6 +310,10 @@ TNC_Result TNC_IMC_ReceiveMessage(TNC_IMCID imc_id, attr_list->destroy(attr_list); return result; + + err: + DESTROY_IF(attr_list); + return TNC_RESULT_FATAL; } /** diff --git a/src/libpts/pts/pts.c b/src/libpts/pts/pts.c index 0f850f292..118585cce 100644 --- a/src/libpts/pts/pts.c +++ b/src/libpts/pts/pts.c @@ -875,6 +875,7 @@ METHOD(pts_t, quote_tpm, bool, goto err3; } } + enumerator->destroy(enumerator); /* Set the Validation Data */ valData.ulExternalDataLength = this->secret.len; diff --git a/src/libpts/pts/pts.h b/src/libpts/pts/pts.h index 8706a142e..c7c43ac27 100644 --- a/src/libpts/pts/pts.h +++ b/src/libpts/pts/pts.h @@ -386,14 +386,13 @@ struct pts_t { * Quote over PCR's * Expects owner and SRK secret to be WELL_KNOWN_SECRET and no password set for AIK * - * @param pcrs Set of PCR's to make quotation over - * @param num_of_pcr Number of PCR's + * @param pcrs List of PCR's to make quotation over * @param pcr_composite Chunk to save pcr composite structure * @param quote_signature Chunk to save quote operation output * without external data (anti-replay protection) * @return FALSE in case of TSS error, TRUE otherwise */ - bool (*quote_tpm)(pts_t *this, u_int32_t *pcrs, u_int32_t num_of_pcrs, + bool (*quote_tpm)(pts_t *this, linked_list_t *pcrs, chunk_t *pcr_composite, chunk_t *quote_signature); /**