diff --git a/examples/boot/secret_unseal.c b/examples/boot/secret_unseal.c index 6e549b41..232c6607 100644 --- a/examples/boot/secret_unseal.c +++ b/examples/boot/secret_unseal.c @@ -167,6 +167,12 @@ int TPM2_Boot_SecretUnseal_Example(void* userCtx, int argc, char *argv[]) usage(); return 0; } + if (pcrArraySz >= sizeof(pcrArray)) { + printf("Too many -pcr= arguments (max %zu)\n", + sizeof(pcrArray)); + usage(); + return 0; + } pcrArray[pcrArraySz] = pcrIndex; pcrArraySz++; } diff --git a/examples/pcr/policy_sign.c b/examples/pcr/policy_sign.c index affb7225..cf92a5fc 100644 --- a/examples/pcr/policy_sign.c +++ b/examples/pcr/policy_sign.c @@ -274,6 +274,12 @@ int TPM2_PCR_PolicySign_Example(void* userCtx, int argc, char *argv[]) usage(); return 0; } + if (pcrArraySz >= sizeof(pcrArray)) { + printf("Too many -pcr= arguments (max %zu)\n", + sizeof(pcrArray)); + usage(); + return 0; + } pcrArray[pcrArraySz] = pcrIndex; pcrArraySz++; }