From 361d18a20836b790e6ffebaf8f7223f686811290 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 12 Sep 2011 18:45:05 +0000 Subject: [PATCH] Check length of additional input in DRBG generate function. --- fips/rand/fips_drbg_lib.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fips/rand/fips_drbg_lib.c b/fips/rand/fips_drbg_lib.c index 98bd10bce3..015b95a972 100644 --- a/fips/rand/fips_drbg_lib.c +++ b/fips/rand/fips_drbg_lib.c @@ -377,6 +377,12 @@ int FIPS_drbg_generate(DRBG_CTX *dctx, unsigned char *out, size_t outlen, return 0; } + if (adinlen > dctx->max_adin) + { + r = FIPS_R_ADDITIONAL_INPUT_TOO_LONG; + goto end; + } + if (dctx->flags & DRBG_CUSTOM_RESEED) dctx->generate(dctx, NULL, outlen, NULL, 0); else if (dctx->reseed_counter >= dctx->reseed_interval) -- GitLab