diff options
author | Ben Laurie <ben@links.org> | 2016-06-04 16:10:49 +0100 |
---|---|---|
committer | Ben Laurie <ben@links.org> | 2016-07-01 13:45:45 +0100 |
commit | 90d28f0519427ffc293f880c423d9c4395a6fcd4 (patch) | |
tree | bb3be2701c6ea2bbe31b6770c1c104fe8c5e4d5c /fuzz/bignum.c | |
parent | 2c12f22c3364a1e562a19415f9929359945a7c21 (diff) |
Run the fuzzing corpora as tests.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'fuzz/bignum.c')
-rw-r--r-- | fuzz/bignum.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/fuzz/bignum.c b/fuzz/bignum.c index 643e6e7c65..dc722af83f 100644 --- a/fuzz/bignum.c +++ b/fuzz/bignum.c @@ -17,8 +17,11 @@ #include <openssl/bn.h> #include "fuzzer.h" +int FuzzerInitialize(int *argc, char ***argv) { + return 1; +} + int FuzzerTestOneInput(const uint8_t *buf, size_t len) { - int success = 0; static BN_CTX *ctx; static BN_MONT_CTX *mont; static BIGNUM *b1; @@ -26,6 +29,9 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len) { static BIGNUM *b3; static BIGNUM *b4; static BIGNUM *b5; + int success = 0; + size_t l1 = 0, l2 = 0, l3 = 0; + int s1 = 0, s2 = 0, s3 = 0; if (ctx == NULL) { b1 = BN_new(); @@ -36,11 +42,10 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len) { ctx = BN_CTX_new(); mont = BN_MONT_CTX_new(); } - // Divide the input into three parts, using the values of the first two - // bytes to choose lengths, which generate b1, b2 and b3. Use three bits - // of the third byte to choose signs for the three numbers. - size_t l1 = 0, l2 = 0, l3 = 0; - int s1 = 0, s2 = 0, s3 = 0; + /* Divide the input into three parts, using the values of the first two + * bytes to choose lengths, which generate b1, b2 and b3. Use three bits + * of the third byte to choose signs for the three numbers. + */ if (len > 2) { len -= 3; l1 = (buf[0] * len) / 255; @@ -61,7 +66,7 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len) { OPENSSL_assert(BN_bin2bn(buf + l1 + l2, l3, b3) == b3); BN_set_negative(b3, s3); - // mod 0 is undefined + /* mod 0 is undefined */ if (BN_is_zero(b3)) { success = 1; goto done; |