diff options
author | Kurt Roeckx <kurt@roeckx.be> | 2016-11-19 17:50:33 +0100 |
---|---|---|
committer | Kurt Roeckx <kurt@roeckx.be> | 2016-12-03 00:14:15 +0100 |
commit | 1b6a77a1a0e524492bf26495c19b728730e6b585 (patch) | |
tree | e7e32427efe7cfa20fd5f759e1a89bd246a17319 /fuzz/cms.c | |
parent | Make the random number generator predictable when fuzzing. (diff) | |
download | openssl-1b6a77a1a0e524492bf26495c19b728730e6b585.tar.xz openssl-1b6a77a1a0e524492bf26495c19b728730e6b585.zip |
CMS fuzzer: also use id2
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #2023
Diffstat (limited to 'fuzz/cms.c')
-rw-r--r-- | fuzz/cms.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/fuzz/cms.c b/fuzz/cms.c index c4477efa8f..b57a6de96a 100644 --- a/fuzz/cms.c +++ b/fuzz/cms.c @@ -23,17 +23,25 @@ int FuzzerInitialize(int *argc, char ***argv) int FuzzerTestOneInput(const uint8_t *buf, size_t len) { - CMS_ContentInfo *i; + 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); + return 0; } |