Fix custom -nvIndex= argument.

pull/291/head
David Garske 2023-08-16 08:08:10 -07:00
parent 5b6c7c0368
commit d508180ee3
1 changed files with 7 additions and 3 deletions

View File

@ -130,14 +130,18 @@ int TPM2_Boot_SecureROT_Example(void* userCtx, int argc, char *argv[])
if (XSTRNCMP(argv[argc-1], "-nvindex=", XSTRLEN("-nvindex=")) == 0) { if (XSTRNCMP(argv[argc-1], "-nvindex=", XSTRLEN("-nvindex=")) == 0) {
const char* nvIndexStr = argv[argc-1] + XSTRLEN("-nvindex="); const char* nvIndexStr = argv[argc-1] + XSTRLEN("-nvindex=");
nvIndex = (word32)XSTRTOL(nvIndexStr, NULL, 0); nvIndex = (word32)XSTRTOL(nvIndexStr, NULL, 0);
if ((authHandle == TPM_RH_PLATFORM && ( if (!(authHandle == TPM_RH_PLATFORM && (
nvIndex > TPM_20_PLATFORM_MFG_NV_SPACE && nvIndex > TPM_20_PLATFORM_MFG_NV_SPACE &&
nvIndex < TPM_20_OWNER_NV_SPACE)) || nvIndex < TPM_20_OWNER_NV_SPACE)) &&
(authHandle == TPM_RH_OWNER && ( !(authHandle == TPM_RH_OWNER && (
nvIndex > TPM_20_OWNER_NV_SPACE && nvIndex > TPM_20_OWNER_NV_SPACE &&
nvIndex < TPM_20_TCG_NV_SPACE))) nvIndex < TPM_20_TCG_NV_SPACE)))
{ {
fprintf(stderr, "Invalid NV Index %s\n", nvIndexStr); fprintf(stderr, "Invalid NV Index %s\n", nvIndexStr);
fprintf(stderr, "\tPlatform Range: 0x%x -> 0x%x\n",
TPM_20_PLATFORM_MFG_NV_SPACE, TPM_20_OWNER_NV_SPACE);
fprintf(stderr, "\tOwner Range: 0x%x -> 0x%x\n",
TPM_20_OWNER_NV_SPACE, TPM_20_TCG_NV_SPACE);
usage(); usage();
return -1; return -1;
} }