X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=fuzz%2Fx509.c;h=926287da48617665eb947d25711841cfbb06cf02;hp=a0fab2f60056077370c9397747d8c1ba1f1b4e70;hb=0c13c8ece1fd88acf757e385bbc865e1e94382ed;hpb=e1859d8d54be8abe102eb45f8019b3aa1c3e0700 diff --git a/fuzz/x509.c b/fuzz/x509.c index a0fab2f600..926287da48 100644 --- a/fuzz/x509.c +++ b/fuzz/x509.c @@ -10,15 +10,30 @@ #include #include +#include +#include #include "fuzzer.h" -int FuzzerTestOneInput(const uint8_t *buf, size_t len) { +#include "rand.inc" + +int FuzzerInitialize(int *argc, char ***argv) +{ + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); + ERR_get_state(); + CRYPTO_free_ex_index(0, -1); + FuzzerSetRand(); + return 1; +} + +int FuzzerTestOneInput(const uint8_t *buf, size_t len) +{ const unsigned char *p = buf; unsigned char *der = NULL; X509 *x509 = d2i_X509(NULL, &p, len); if (x509 != NULL) { BIO *bio = BIO_new(BIO_s_null()); + /* This will load and print the public key as well as extensions */ X509_print(bio, x509); BIO_free(bio); @@ -27,5 +42,10 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len) { X509_free(x509); } + ERR_clear_error(); return 0; } + +void FuzzerCleanup(void) +{ +}