OpenSSL 1.1.1-pre2
This commit is contained in:
+26
-7
@@ -14,23 +14,42 @@
|
||||
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/cms.h>
|
||||
#include <openssl/err.h>
|
||||
#include "fuzzer.h"
|
||||
|
||||
int FuzzerInitialize(int *argc, char ***argv) {
|
||||
int FuzzerInitialize(int *argc, char ***argv)
|
||||
{
|
||||
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) {
|
||||
CMS_ContentInfo *i;
|
||||
int FuzzerTestOneInput(const uint8_t *buf, size_t len)
|
||||
{
|
||||
CMS_ContentInfo *cms;
|
||||
BIO *in;
|
||||
if (!len) {
|
||||
|
||||
if (len == 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
in = BIO_new(BIO_s_mem());
|
||||
OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
|
||||
i = d2i_CMS_bio(in, NULL);
|
||||
CMS_ContentInfo_free(i);
|
||||
cms = d2i_CMS_bio(in, NULL);
|
||||
if (cms != NULL) {
|
||||
BIO *out = BIO_new(BIO_s_null());
|
||||
|
||||
i2d_CMS_bio(out, cms);
|
||||
BIO_free(out);
|
||||
CMS_ContentInfo_free(cms);
|
||||
}
|
||||
|
||||
BIO_free(in);
|
||||
ERR_clear_error();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void FuzzerCleanup(void)
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user