summaryrefslogtreecommitdiff
path: root/fuzz/mpi_sqrmod_target.cc
diff options
context:
space:
mode:
authorFranziskus Kiefer <franziskuskiefer@gmail.com>2017-02-15 10:55:21 +0100
committerFranziskus Kiefer <franziskuskiefer@gmail.com>2017-02-15 10:55:21 +0100
commitd9d184205cd71236e55924b3ff4d5b4470901814 (patch)
treee533bf7a34d129a965e7cf5c6768902166534dcc /fuzz/mpi_sqrmod_target.cc
parent3fe2f26e80b51505913ff6350dddb2b5926ac29a (diff)
downloadnss-hg-d9d184205cd71236e55924b3ff4d5b4470901814.tar.gz
Bug 1334106 - fuzz mp_invmod, r=ttaubert
Differential Revision: https://nss-review.dev.mozaws.net/D214
Diffstat (limited to 'fuzz/mpi_sqrmod_target.cc')
-rw-r--r--fuzz/mpi_sqrmod_target.cc21
1 files changed, 3 insertions, 18 deletions
diff --git a/fuzz/mpi_sqrmod_target.cc b/fuzz/mpi_sqrmod_target.cc
index d3886dacd..ca403b570 100644
--- a/fuzz/mpi_sqrmod_target.cc
+++ b/fuzz/mpi_sqrmod_target.cc
@@ -14,17 +14,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
if (size < 3) {
return 0;
}
- mp_int a, b, c;
- BN_CTX *ctx = BN_CTX_new();
- BN_CTX_start(ctx);
- BIGNUM *A = BN_CTX_get(ctx);
- BIGNUM *B = BN_CTX_get(ctx);
- BIGNUM *C = BN_CTX_get(ctx);
- assert(mp_init(&a) == MP_OKAY);
- assert(mp_init(&b) == MP_OKAY);
- assert(mp_init(&c) == MP_OKAY);
- size_t max_size = 4 * size + 1;
- parse_input(data, size, A, &a);
+
+ INIT_THREE_NUMBERS
// We can't divide by 0.
if (mp_cmp_z(&b) == 0) {
@@ -41,11 +32,5 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
(void)BN_mod_sqr(C, A, B, ctx);
check_equal(C, &c, max_size);
- mp_clear(&a);
- mp_clear(&b);
- mp_clear(&c);
- BN_CTX_end(ctx);
- BN_CTX_free(ctx);
-
- return 0;
+ CLEANUP_AND_RETURN_THREE
}