From f0923ff37764a31dbcb8cb0e58fcaa5cbb35152c Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 9 Apr 2014 17:47:32 +0200 Subject: [PATCH] pts: Make sure the complete AIK blob has been read --- src/libpts/pts/pts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libpts/pts/pts.c b/src/libpts/pts/pts.c index 8699282f06..3ab9b92e68 100644 --- a/src/libpts/pts/pts.c +++ b/src/libpts/pts/pts.c @@ -393,7 +393,7 @@ static void load_aik_blob(private_pts_t *this) fseek(fp, 0L, SEEK_SET); this->aik_blob = chunk_alloc(aikBlobLen); - if (fread(this->aik_blob.ptr, 1, aikBlobLen, fp)) + if (fread(this->aik_blob.ptr, 1, aikBlobLen, fp) == aikBlobLen) { DBG2(DBG_PTS, "loaded AIK Blob from '%s'", blob_path); DBG3(DBG_PTS, "AIK Blob: %B", &this->aik_blob); @@ -401,6 +401,7 @@ static void load_aik_blob(private_pts_t *this) else { DBG1(DBG_PTS, "unable to read AIK Blob file '%s'", blob_path); + chunk_free(&this->aik_blob); } fclose(fp); return; -- 2.47.2