summaryrefslogtreecommitdiffstats
path: root/src/security/tpm/tspi/log-tpm2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/security/tpm/tspi/log-tpm2.c')
-rw-r--r--src/security/tpm/tspi/log-tpm2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/security/tpm/tspi/log-tpm2.c b/src/security/tpm/tspi/log-tpm2.c
index 897ccedbff37..c7bbc9e42bc1 100644
--- a/src/security/tpm/tspi/log-tpm2.c
+++ b/src/security/tpm/tspi/log-tpm2.c
@@ -213,6 +213,11 @@ void tpm2_log_copy_entries(const void *from, void *to)
int i;
for (i = 0; i < le16toh(from_log->vendor.num_entries); i++) {
+ if (le16toh(to_log->vendor.num_entries) >= le16toh(to_log->vendor.max_entries)) {
+ printk(BIOS_WARNING, "TPM LOG: log table is full\n");
+ return;
+ }
+
struct tpm_2_log_entry *tce =
&to_log->entries[le16toh(to_log->vendor.num_entries)];
to_log->vendor.num_entries = htole16(le16toh(to_log->vendor.num_entries) + 1);