diff options
Diffstat (limited to 'src/tss2-esys/esys_tr.c')
-rw-r--r-- | src/tss2-esys/esys_tr.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/tss2-esys/esys_tr.c b/src/tss2-esys/esys_tr.c index 042cc265..1a4e908b 100644 --- a/src/tss2-esys/esys_tr.c +++ b/src/tss2-esys/esys_tr.c @@ -374,11 +374,14 @@ Esys_TR_SetAuth(ESYS_CONTEXT * esys_context, ESYS_TR esys_handle, if (r != TPM2_RC_SUCCESS) return r; - if (authValue == NULL) + if (authValue == NULL) { esys_object->auth.size = 0; - else + } else { + if (authValue->size > sizeof(TPMU_HA)) { + return_error(TSS2_ESYS_RC_BAD_SIZE, "Bad size for auth value."); + } esys_object->auth = *authValue; - + } return TSS2_RC_SUCCESS; } |