projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix typo in OPENSSL_LH_new compat API
[openssl.git]
/
fuzz
/
asn1.c
diff --git
a/fuzz/asn1.c
b/fuzz/asn1.c
index 0c6131580cbb131b2b7fca783a8b3bd0e0b33c69..c45fd7932832fb8c1ee9c39f699c881cc5dc64b6 100644
(file)
--- a/
fuzz/asn1.c
+++ b/
fuzz/asn1.c
@@
-28,8
+28,14
@@
#include <openssl/x509v3.h>
#include <openssl/cms.h>
#include <openssl/err.h>
#include <openssl/x509v3.h>
#include <openssl/cms.h>
#include <openssl/err.h>
+#include <openssl/rand.h>
#include "fuzzer.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
static ASN1_ITEM_EXP *item_type[] = {
ASN1_ITEM_ref(ACCESS_DESCRIPTION),
#ifndef OPENSSL_NO_RFC3779
@@
-210,6
+216,12
@@
int FuzzerInitialize(int *argc, char ***argv)
OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
ERR_get_state();
CRYPTO_free_ex_index(0, -1);
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
return 1;
}
return 1;
}