From 2877355408d539af08b85586e1f30bceaa2933e1 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 9 Jan 2014 17:29:35 +0100 Subject: [PATCH] libpts: Fix PCR read, avoid cast of a pointer to different sized integer --- src/libpts/pts/pts.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libpts/pts/pts.c b/src/libpts/pts/pts.c index 075af5bcc..b82b74405 100644 --- a/src/libpts/pts/pts.c +++ b/src/libpts/pts/pts.c @@ -623,7 +623,8 @@ METHOD(pts_t, read_pcr, bool, TSS_HCONTEXT hContext; TSS_HTPM hTPM; TSS_RESULT result; - chunk_t rgbPcrValue; + BYTE *buf; + UINT32 len; bool success = FALSE; @@ -644,12 +645,12 @@ METHOD(pts_t, read_pcr, bool, { goto err; } - result = Tspi_TPM_PcrRead(hTPM, pcr_num, (UINT32*)&rgbPcrValue.len, &rgbPcrValue.ptr); + result = Tspi_TPM_PcrRead(hTPM, pcr_num, &len, &buf); if (result != TSS_SUCCESS) { goto err; } - *pcr_value = chunk_clone(rgbPcrValue); + *pcr_value = chunk_clone(chunk_create(buf, len)); DBG3(DBG_PTS, "PCR %d value:%B", pcr_num, pcr_value); success = TRUE;