summaryrefslogtreecommitdiff
path: root/firmware/lib/tpm_bootmode.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/lib/tpm_bootmode.c')
-rw-r--r--firmware/lib/tpm_bootmode.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/firmware/lib/tpm_bootmode.c b/firmware/lib/tpm_bootmode.c
index 77731355..13371c40 100644
--- a/firmware/lib/tpm_bootmode.c
+++ b/firmware/lib/tpm_bootmode.c
@@ -28,7 +28,8 @@
* 7 Normal-signed firmware | 1
* (anything else) | 0
*/
-const uint8_t kBootStateSHA1Digests[][20] = {
+
+const char* kBootStateSHA1Digests[] = {
/* SHA1("\x00\x00\x00") */
"\x29\xe2\xdc\xfb\xb1\x6f\x63\xbb\x02\x54\xdf\x75\x85\xa1\x5b\xb6"
"\xfb\x5e\x92\x7d",
@@ -78,11 +79,11 @@ const uint8_t kBootStateSHA1Digests[][20] = {
"\xbf\x35\x31\x78",
};
-#define MAX_BOOT_STATE_INDEX (sizeof(kBootStateSHA1Digests)/sizeof(char[20]))
+#define MAX_BOOT_STATE_INDEX (sizeof(kBootStateSHA1Digests)/sizeof(char*))
/* Used for PCR extend when the passed-in boot state is invalid or
* if there is an internal error. */
-const uint8_t kBootInvalidSHA1Digest[20] = {
+const uint8_t kBootInvalidSHA1Digest[] = {
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
"\xff\xff\xff\xff"
};
@@ -123,7 +124,7 @@ uint32_t SetTPMBootModeState(int developer_mode, int recovery_mode,
fw_keyblock_flags);
if (digest_index >= 0 && digest_index < MAX_BOOT_STATE_INDEX)
- in_digest = kBootStateSHA1Digests[digest_index];
+ in_digest = (const uint8_t*)kBootStateSHA1Digests[digest_index];
else
in_digest = kBootInvalidSHA1Digest; /* Internal out of bounds error. */
result = TlclExtend(BOOT_MODE_PCR, in_digest, out_digest);