X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=fuzz%2Fasn1parse.c;h=cf5ef72a13cf99cc24fb537a34f5b53895ed6786;hp=b3a6dab0ea4e3afd20ca96586834edf71a3b306b;hb=d69d8f904c9c558c7a9455ee816e494690d80ca8;hpb=90d28f0519427ffc293f880c423d9c4395a6fcd4 diff --git a/fuzz/asn1parse.c b/fuzz/asn1parse.c index b3a6dab0ea..cf5ef72a13 100644 --- a/fuzz/asn1parse.c +++ b/fuzz/asn1parse.c @@ -16,18 +16,28 @@ #include #include #include +#include #include "fuzzer.h" -int FuzzerInitialize(int *argc, char ***argv) { +static BIO *bio_out; + +int FuzzerInitialize(int *argc, char ***argv) +{ + bio_out = BIO_new_file("/dev/null", "w"); + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); + ERR_get_state(); + CRYPTO_free_ex_index(0, -1); return 1; } -int FuzzerTestOneInput(const uint8_t *buf, size_t len) { - static BIO *bio_out; - - if (bio_out == NULL) - bio_out = BIO_new_file("/dev/null", "w"); - +int FuzzerTestOneInput(const uint8_t *buf, size_t len) +{ (void)ASN1_parse_dump(bio_out, buf, len, 0, 0); + ERR_clear_error(); return 0; } + +void FuzzerCleanup(void) +{ + BIO_free(bio_out); +}