From f4bd65dae3dd2ac810573901d37b847e37820983 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 4 Apr 2011 17:03:35 +0000 Subject: [PATCH] Set error code is additional data callback fails. --- fips/fips.h | 2 ++ fips/rand/fips_drbg_rand.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fips/fips.h b/fips/fips.h index 79160bbaac..6f73655020 100644 --- a/fips/fips.h +++ b/fips/fips.h @@ -202,6 +202,7 @@ void ERR_load_FIPS_strings(void); #define FIPS_F_FIPS_CHECK_RSA 106 #define FIPS_F_FIPS_CIPHERINIT 128 #define FIPS_F_FIPS_DIGESTINIT 127 +#define FIPS_F_FIPS_DRBG_BYTES 142 #define FIPS_F_FIPS_DRBG_GENERATE 132 #define FIPS_F_FIPS_DRBG_GENERATE_INTERNAL 138 #define FIPS_F_FIPS_DRBG_HEALTH_CHECK 137 @@ -242,6 +243,7 @@ void ERR_load_FIPS_strings(void); #define FIPS_R_ENTROPY_NOT_REQUESTED_FOR_RESEED 134 #define FIPS_R_ERROR_INITIALISING_DRBG 120 #define FIPS_R_ERROR_INSTANTIATING_DRBG 121 +#define FIPS_R_ERROR_RETRIEVING_ADDITIONAL_INPUT 144 #define FIPS_R_ERROR_RETRIEVING_ENTROPY 122 #define FIPS_R_ERROR_RETRIEVING_NONCE 123 #define FIPS_R_EXE_DIGEST_DOES_NOT_MATCH 105 diff --git a/fips/rand/fips_drbg_rand.c b/fips/rand/fips_drbg_rand.c index 4e02fd9408..1863026bd5 100644 --- a/fips/rand/fips_drbg_rand.c +++ b/fips/rand/fips_drbg_rand.c @@ -65,7 +65,7 @@ /* Mapping of SP800-90 DRBGs to OpenSSL RAND_METHOD */ /* Since we only have one global PRNG used at any time in OpenSSL use a global - * variable to store contexts. + * variable to store context. */ static DRBG_CTX ossl_dctx; @@ -94,7 +94,7 @@ static int fips_drbg_bytes(unsigned char *out, int count) adinlen = dctx->get_adin(dctx, &adin); if (adinlen && !adin) { - /* ERROR */ + FIPSerr(FIPS_F_FIPS_DRBG_BYTES, FIPS_R_ERROR_RETRIEVING_ADDITIONAL_INPUT); goto err; } } -- 2.34.1