diff --git a/examples/nvram/seal_nv.c b/examples/nvram/seal_nv.c index 85b22748..ed67589a 100644 --- a/examples/nvram/seal_nv.c +++ b/examples/nvram/seal_nv.c @@ -196,7 +196,14 @@ int TPM2_NVRAM_SealNV_Example(void* userCtx, int argc, char *argv[]) /* Set owner auth */ parent.hndl = TPM_RH_OWNER; if (XSTRLEN(ownerAuth) > 0) { - parent.auth.size = (int)XSTRLEN(ownerAuth); + size_t authLen = XSTRLEN(ownerAuth); + if (authLen > sizeof(parent.auth.buffer)) { + fprintf(stderr, "-ownerauth value too long (max %zu)\n", + sizeof(parent.auth.buffer)); + rc = BUFFER_E; + goto exit; + } + parent.auth.size = (UINT16)authLen; XMEMCPY(parent.auth.buffer, ownerAuth, parent.auth.size); }