diff --git a/fips/fips.h b/fips/fips.h index 79160bbaa..6f7365502 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 4e02fd940..1863026bd 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; } }