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

Set error code is additional data callback fails.

parent ac1ee8e8
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -202,6 +202,7 @@ void ERR_load_FIPS_strings(void);
#define FIPS_F_FIPS_CHECK_RSA				 106
#define FIPS_F_FIPS_CHECK_RSA				 106
#define FIPS_F_FIPS_CIPHERINIT				 128
#define FIPS_F_FIPS_CIPHERINIT				 128
#define FIPS_F_FIPS_DIGESTINIT				 127
#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			 132
#define FIPS_F_FIPS_DRBG_GENERATE_INTERNAL		 138
#define FIPS_F_FIPS_DRBG_GENERATE_INTERNAL		 138
#define FIPS_F_FIPS_DRBG_HEALTH_CHECK			 137
#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_ENTROPY_NOT_REQUESTED_FOR_RESEED		 134
#define FIPS_R_ERROR_INITIALISING_DRBG			 120
#define FIPS_R_ERROR_INITIALISING_DRBG			 120
#define FIPS_R_ERROR_INSTANTIATING_DRBG			 121
#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_ENTROPY			 122
#define FIPS_R_ERROR_RETRIEVING_NONCE			 123
#define FIPS_R_ERROR_RETRIEVING_NONCE			 123
#define FIPS_R_EXE_DIGEST_DOES_NOT_MATCH		 105
#define FIPS_R_EXE_DIGEST_DOES_NOT_MATCH		 105
+2 −2
Original line number Original line Diff line number Diff line
@@ -65,7 +65,7 @@
/* Mapping of SP800-90 DRBGs to OpenSSL RAND_METHOD */
/* 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
/* 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;
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);
			adinlen = dctx->get_adin(dctx, &adin);
			if (adinlen && !adin)
			if (adinlen && !adin)
				{
				{
				/* ERROR */
				FIPSerr(FIPS_F_FIPS_DRBG_BYTES, FIPS_R_ERROR_RETRIEVING_ADDITIONAL_INPUT);
				goto err;
				goto err;
				}
				}
			}
			}