Commit 9e56c99e authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

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

don't set type in FIPS_drbg_new().
parent 543dfa9f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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)
		{
+5 −0
Original line number Diff line number Diff line
@@ -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);