提交 9e56c99e 编写于 作者: D Dr. Stephen Henson

Check we recognise DRBG type in fips_drbgvs.c initialised DRBG_CTX if we

don't set type in FIPS_drbg_new().
上级 543dfa9f
......@@ -115,8 +115,14 @@ DRBG_CTX *FIPS_drbg_new(int type, unsigned int flags)
FIPSerr(FIPS_F_FIPS_DRBG_NEW, ERR_R_MALLOC_FAILURE);
return NULL;
}
if (type == 0)
{
memset(dctx, 0, sizeof(DRBG_CTX));
dctx->type = 0;
dctx->status = DRBG_STATUS_UNINITIALISED;
return dctx;
}
if (FIPS_drbg_init(dctx, type, flags) <= 0)
{
......
......@@ -314,6 +314,11 @@ int main(int argc,char **argv)
if (!strcmp(keyword, "PersonalizationString"))
{
pers = hex2bin_m(value, &perslen);
if (nid == 0)
{
fprintf(stderr, "DRBG type not recognised!\n");
exit (1);
}
dctx = FIPS_drbg_new(nid, df | DRBG_FLAG_TEST);
if (!dctx)
exit (1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册