diff options
author | Rich Salz <rsalz@openssl.org> | 2017-07-26 14:27:30 -0400 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2017-07-26 19:27:54 -0400 |
commit | 9f08a1c63efa2205aca4361a830ac04407325597 (patch) | |
tree | a3ab9a036edf961cb6b09e5ed7f82919e6b456d5 /fuzz/server.c | |
parent | 43405889f47648ee70c1b412b8b71570e8aaa24a (diff) |
Install custom RAND_METHOD for fuzzing
Instead of setting a "magic" global variable to force RAND to keep
consistent state and always generate the same bytestream, have
the fuzzing code install its own RAND_METHOD that does this. For
BN_RAND_DEBUG, we just don't do it; that debugging was about mucking
with BN's internal representation, not requiring predictable rand
bytes.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/4025)
Diffstat (limited to 'fuzz/server.c')
-rw-r--r-- | fuzz/server.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/fuzz/server.c b/fuzz/server.c index 397867f065..6cc1f7f3da 100644 --- a/fuzz/server.c +++ b/fuzz/server.c @@ -465,11 +465,6 @@ static const char DSACertPEM[] = { }; #endif -#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -extern int rand_predictable; -#endif -#define ENTROPY_NEEDED 32 - /* unused, to avoid warning. */ static int idx; @@ -497,16 +492,11 @@ int FuzzerInitialize(int *argc, char ***argv) ERR_get_state(); CRYPTO_free_ex_index(0, -1); idx = SSL_get_ex_data_X509_STORE_CTX_idx(); - RAND_add("", 1, ENTROPY_NEEDED); - RAND_status(); + FuzzerSetRand(); comp_methods = SSL_COMP_get_compression_methods(); OPENSSL_sk_sort((OPENSSL_STACK *)comp_methods); -#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION - rand_predictable = 1; -#endif - return 1; } |