X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Frand%2Fmd_rand.c;h=0cf6e90834820f129ec29b7f6806e17df09b5c53;hp=7924478e9e8973654938941c4fa44775a24adf56;hb=3a9b9b2deb8e19fa10e7c3c99ad0baa2f90f13fa;hpb=c2e4e5d248567d4eea5bf6d525bdbcc09099ba6e diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index 7924478e9e..0cf6e90834 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -33,7 +33,7 @@ # include #endif -#ifdef BN_DEBUG +#if defined(BN_DEBUG) || defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) # define PREDICT #endif @@ -89,6 +89,7 @@ static RAND_METHOD rand_meth = { DEFINE_RUN_ONCE_STATIC(do_rand_lock_init) { + OPENSSL_init_crypto(0, NULL); rand_lock = CRYPTO_THREAD_lock_new(); rand_tmp_lock = CRYPTO_THREAD_lock_new(); return rand_lock != NULL && rand_tmp_lock != NULL; @@ -306,7 +307,7 @@ static int rand_bytes(unsigned char *buf, int num, int pseudo) #ifdef PREDICT if (rand_predictable) { - static unsigned char val = 0; + unsigned char val = 0; for (i = 0; i < num; i++) buf[i] = val++;