Make x509 and asn1 fuzzer reproducible
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> GH: #2683
This commit is contained in:
parent
644fb113a0
commit
b534df96c9
2 changed files with 24 additions and 0 deletions
12
fuzz/asn1.c
12
fuzz/asn1.c
|
@ -28,8 +28,14 @@
|
|||
#include <openssl/x509v3.h>
|
||||
#include <openssl/cms.h>
|
||||
#include <openssl/err.h>
|
||||
#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
|
||||
|
@ -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);
|
||||
RAND_add("", 1, ENTROPY_NEEDED);
|
||||
RAND_status();
|
||||
|
||||
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
|
||||
rand_predictable = 1;
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
12
fuzz/x509.c
12
fuzz/x509.c
|
@ -11,13 +11,25 @@
|
|||
#include <openssl/x509.h>
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/rand.h>
|
||||
#include "fuzzer.h"
|
||||
|
||||
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
|
||||
extern int rand_predictable;
|
||||
#endif
|
||||
#define ENTROPY_NEEDED 32
|
||||
|
||||
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
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue