diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2011-11-06 13:08:54 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2011-11-06 13:08:54 +0000 |
commit | 79f2c9d1cddd9ac7d68c4e3e39c228f01ac79b7e (patch) | |
tree | a4da9aac8e55b55f074b5a2e37825fa418dca7d6 | |
parent | 8a794abd9d427fb58519c03e2dd8fa6da08ee6f1 (diff) |
check for unset entropy and nonce callbacks
-rw-r--r-- | fips/rand/fips_drbg_lib.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fips/rand/fips_drbg_lib.c b/fips/rand/fips_drbg_lib.c index e0e1d75091..ee162d05eb 100644 --- a/fips/rand/fips_drbg_lib.c +++ b/fips/rand/fips_drbg_lib.c @@ -154,6 +154,8 @@ static size_t fips_get_entropy(DRBG_CTX *dctx, unsigned char **pout, { unsigned char *tout, *p; size_t bl = dctx->entropy_blocklen, rv; + if (!dctx->get_entropy) + return 0; if (dctx->xflags & DRBG_FLAG_TEST || !bl) return dctx->get_entropy(dctx, pout, entropy, min_len, max_len); rv = dctx->get_entropy(dctx, &tout, entropy + bl, @@ -241,7 +243,7 @@ int FIPS_drbg_instantiate(DRBG_CTX *dctx, goto end; } - if (dctx->max_nonce > 0) + if (dctx->max_nonce > 0 && dctx->get_nonce) { noncelen = dctx->get_nonce(dctx, &nonce, dctx->strength / 2, |