Remove redundant definitions. Give error code if DRBG sefltest fails.
diff --git a/crypto/fips_err.h b/crypto/fips_err.h
index 81acb47..c808c88 100644
--- a/crypto/fips_err.h
+++ b/crypto/fips_err.h
@@ -90,12 +90,13 @@
 {ERR_FUNC(FIPS_F_FIPS_DRBG_INSTANTIATE),	"FIPS_drbg_instantiate"},
 {ERR_FUNC(FIPS_F_FIPS_DRBG_NEW),	"FIPS_drbg_new"},
 {ERR_FUNC(FIPS_F_FIPS_DRBG_RESEED),	"FIPS_drbg_reseed"},
+{ERR_FUNC(FIPS_F_FIPS_DRBG_SINGLE_KAT),	"FIPS_DRBG_SINGLE_KAT"},
 {ERR_FUNC(FIPS_F_FIPS_DSA_CHECK),	"FIPS_DSA_CHECK"},
 {ERR_FUNC(FIPS_F_FIPS_MODE_SET),	"FIPS_mode_set"},
 {ERR_FUNC(FIPS_F_FIPS_PKEY_SIGNATURE_TEST),	"fips_pkey_signature_test"},
 {ERR_FUNC(FIPS_F_FIPS_SELFTEST_AES),	"FIPS_selftest_aes"},
 {ERR_FUNC(FIPS_F_FIPS_SELFTEST_AES_GCM),	"FIPS_selftest_aes_gcm"},
-{ERR_FUNC(FIPS_F_FIPS_SELFTEST_CMAC),	"FIPS_SELFTEST_CMAC"},
+{ERR_FUNC(FIPS_F_FIPS_SELFTEST_CMAC),	"FIPS_selftest_cmac"},
 {ERR_FUNC(FIPS_F_FIPS_SELFTEST_DES),	"FIPS_selftest_des"},
 {ERR_FUNC(FIPS_F_FIPS_SELFTEST_DSA),	"FIPS_selftest_dsa"},
 {ERR_FUNC(FIPS_F_FIPS_SELFTEST_ECDSA),	"FIPS_selftest_ecdsa"},
diff --git a/fips/fips.h b/fips/fips.h
index 110ee3c..2c71041 100644
--- a/fips/fips.h
+++ b/fips/fips.h
@@ -203,6 +203,7 @@
 #define FIPS_F_FIPS_DRBG_INSTANTIATE			 133
 #define FIPS_F_FIPS_DRBG_NEW				 134
 #define FIPS_F_FIPS_DRBG_RESEED				 135
+#define FIPS_F_FIPS_DRBG_SINGLE_KAT			 140
 #define FIPS_F_FIPS_DSA_CHECK				 107
 #define FIPS_F_FIPS_MODE_SET				 108
 #define FIPS_F_FIPS_PKEY_SIGNATURE_TEST			 109
diff --git a/fips/rand/fips_drbg_selftest.c b/fips/rand/fips_drbg_selftest.c
index a3732c1..c46fe58 100644
--- a/fips/rand/fips_drbg_selftest.c
+++ b/fips/rand/fips_drbg_selftest.c
@@ -797,6 +797,8 @@
 	rv = 1;
 
 	err:
+	if (rv == 0)
+		FIPSerr(FIPS_F_FIPS_DRBG_SINGLE_KAT, FIPS_R_SELFTEST_FAILED);
 	FIPS_drbg_uninstantiate(dctx);
 	
 	return rv;
diff --git a/fips/rand/fips_rand_lcl.h b/fips/rand/fips_rand_lcl.h
index b396226..a946ac1 100644
--- a/fips/rand/fips_rand_lcl.h
+++ b/fips/rand/fips_rand_lcl.h
@@ -97,10 +97,6 @@
 /* fatal error condition */
 #define DRBG_STATUS_ERROR		3
 
-/* Maximum values for temp entropy and nonce */
-#define DRBG_MAX_ENTROPY		1024
-#define DRBG_MAX_NONCE			1024
-
 /* A default maximum length: larger than any reasonable value used in pratice */
 
 #define DRBG_MAX_LENGTH			0x7ffffff0
@@ -159,8 +155,6 @@
 	/* Indicates we have finished with entropy buffer */
 	void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen);
 
-	unsigned char nonce[DRBG_MAX_NONCE];
-
 	/* nonce gathering function */
 	size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout,
 				int entropy, size_t min_len, size_t max_len);