mirror of
https://github.com/openssl/openssl.git
synced 2025-03-19 19:50:42 +08:00
[fuzzers] do not fail fuzzers with empty input
Reviewed-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #1788
This commit is contained in:
parent
e4d94269a5
commit
ba7407002d
@ -22,8 +22,12 @@ int FuzzerInitialize(int *argc, char ***argv) {
|
||||
|
||||
int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
|
||||
CMS_ContentInfo *i;
|
||||
BIO *in = BIO_new(BIO_s_mem());
|
||||
BIO *in;
|
||||
if (!len) {
|
||||
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);
|
||||
|
@ -217,6 +217,12 @@ int FuzzerInitialize(int *argc, char ***argv) {
|
||||
}
|
||||
|
||||
int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
|
||||
SSL *server;
|
||||
BIO *in;
|
||||
BIO *out;
|
||||
if (!len) {
|
||||
return 0;
|
||||
}
|
||||
/* TODO: make this work for OpenSSL. There's a PREDICT define that may do
|
||||
* the job.
|
||||
* TODO: use the ossltest engine (optionally?) to disable crypto checks.
|
||||
@ -224,9 +230,9 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
|
||||
*/
|
||||
|
||||
/* This only fuzzes the initial flow from the client so far. */
|
||||
SSL *server = SSL_new(ctx);
|
||||
BIO *in = BIO_new(BIO_s_mem());
|
||||
BIO *out = BIO_new(BIO_s_mem());
|
||||
server = SSL_new(ctx);
|
||||
in = BIO_new(BIO_s_mem());
|
||||
out = BIO_new(BIO_s_mem());
|
||||
SSL_set_bio(server, in, out);
|
||||
SSL_set_accept_state(server);
|
||||
OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
|
||||
|
Loading…
x
Reference in New Issue
Block a user