X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=fuzz%2Fasn1parse.c;h=cf5ef72a13cf99cc24fb537a34f5b53895ed6786;hb=3e0076c213ec2d1149a9a89f9bc141d1a1a44630;hp=2fba1c44b6a4ccb6a0d8eb8a5a7935210aa2739e;hpb=f3e911d5ed16db6a129306675e20e51d1ee81e1a;p=oweals%2Fopenssl.git diff --git a/fuzz/asn1parse.c b/fuzz/asn1parse.c index 2fba1c44b6..cf5ef72a13 100644 --- a/fuzz/asn1parse.c +++ b/fuzz/asn1parse.c @@ -16,20 +16,28 @@ #include #include #include +#include #include "fuzzer.h" +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"); - (void)ASN1_parse_dump(bio_out, buf, len, 0, 0); + ERR_clear_error(); return 0; } + +void FuzzerCleanup(void) +{ + BIO_free(bio_out); +}