summaryrefslogtreecommitdiff
path: root/fuzz/asn1.c
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2017-07-26 14:27:30 -0400
committerRich Salz <rsalz@openssl.org>2017-07-26 19:27:54 -0400
commit9f08a1c63efa2205aca4361a830ac04407325597 (patch)
treea3ab9a036edf961cb6b09e5ed7f82919e6b456d5 /fuzz/asn1.c
parent43405889f47648ee70c1b412b8b71570e8aaa24a (diff)
downloadopenssl-new-9f08a1c63efa2205aca4361a830ac04407325597.tar.gz
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/asn1.c')
-rw-r--r--fuzz/asn1.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/fuzz/asn1.c b/fuzz/asn1.c
index c45fd79328..90262defd3 100644
--- a/fuzz/asn1.c
+++ b/fuzz/asn1.c
@@ -31,11 +31,6 @@
#include <openssl/rand.h>
#include "fuzzer.h"
-#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
-extern int rand_predictable;
-#endif
-#define ENTROPY_NEEDED 32
-
static ASN1_ITEM_EXP *item_type[] = {
ASN1_ITEM_ref(ACCESS_DESCRIPTION),
#ifndef OPENSSL_NO_RFC3779
@@ -216,12 +211,7 @@ int FuzzerInitialize(int *argc, char ***argv)
OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
ERR_get_state();
CRYPTO_free_ex_index(0, -1);
- RAND_add("", 1, ENTROPY_NEEDED);
- RAND_status();
-
-#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
- rand_predictable = 1;
-#endif
+ FuzzerSetRand();
return 1;
}