Set error code is additional data callback fails.
authorDr. Stephen Henson <steve@openssl.org>
Mon, 4 Apr 2011 17:03:35 +0000 (17:03 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 4 Apr 2011 17:03:35 +0000 (17:03 +0000)
fips/fips.h
fips/rand/fips_drbg_rand.c

index 79160bb..6f73655 100644 (file)
@@ -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
index 4e02fd9..1863026 100644 (file)
@@ -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;
                                }
                        }