diff options
-rw-r--r-- | firmware/lib/tpm_lite/tlcl.c | 4 | ||||
-rw-r--r-- | tests/tlcl_tests.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/firmware/lib/tpm_lite/tlcl.c b/firmware/lib/tpm_lite/tlcl.c index b8d83335..c03e8695 100644 --- a/firmware/lib/tpm_lite/tlcl.c +++ b/firmware/lib/tpm_lite/tlcl.c @@ -1355,7 +1355,9 @@ uint32_t TlclReadDelegationFamilyTable(TPM_FAMILY_TABLE_ENTRY *table, return TPM_E_INVALID_RESPONSE; } - uint32_t table_entries = table_bytes / sizeof(TPM_FAMILY_TABLE_ENTRY); + const uint32_t table_entry_size = + sizeof(uint16_t) + sizeof(uint8_t) + 3 * sizeof(uint32_t); + uint32_t table_entries = table_bytes / table_entry_size; int i; for (i = 0; i < table_entries; ++i) { if (i >= *table_size || !table) { diff --git a/tests/tlcl_tests.c b/tests/tlcl_tests.c index 385350dd..00eae615 100644 --- a/tests/tlcl_tests.c +++ b/tests/tlcl_tests.c @@ -1168,6 +1168,7 @@ int main(void) IFXFieldUpgradeInfoTest(); ReadPubekTest(); TakeOwnershipTest(); + ReadDelegationFamilyTableTest(); return gTestSuccess ? 0 : 255; } |