[openssl-commits] [openssl] OpenSSL_1_1_0-stable update
Rich Salz
rsalz at openssl.org
Tue Sep 27 13:42:04 UTC 2016
The branch OpenSSL_1_1_0-stable has been updated
via a7511d72a32e13ab007f2f02fa1433965cbfe6ed (commit)
from 35c2aca31f943bf35a425128fb7068d52309bc94 (commit)
- Log -----------------------------------------------------------------
commit a7511d72a32e13ab007f2f02fa1433965cbfe6ed
Author: David Benjamin <davidben at google.com>
Date: Thu Aug 25 17:45:20 2016 -0400
Add a basic test for BN_bn2dec.
This would have caught 099e2968ed3c7d256cda048995626664082b1b30. This is
a port of the test added in
https://boringssl.googlesource.com/boringssl/+/7c040756178e14a4d181b6d93abb3827c93189c4
Reviewed-by: Emilia Käsper <emilia at openssl.org>
Reviewed-by: Rich Salz <rsalz at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1496)
(cherry picked from commit 8ff70f3326983360c6f6306a1cd2238ef92d1f26)
-----------------------------------------------------------------------
Summary of changes:
test/bntest.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/test/bntest.c b/test/bntest.c
index 3507b31..51b75d3 100644
--- a/test/bntest.c
+++ b/test/bntest.c
@@ -83,6 +83,7 @@ int test_gf2m_mod_solve_quad(BIO *bp, BN_CTX *ctx);
int test_kron(BIO *bp, BN_CTX *ctx);
int test_sqrt(BIO *bp, BN_CTX *ctx);
int test_small_prime(BIO *bp, BN_CTX *ctx);
+int test_bn2dec(BIO *bp);
int rand_neg(void);
static int results = 0;
@@ -260,6 +261,11 @@ int main(int argc, char *argv[])
goto err;
(void)BIO_flush(out);
+ message(out, "BN_bn2dec");
+ if (!test_bn2dec(out))
+ goto err;
+ (void)BIO_flush(out);
+
#ifndef OPENSSL_NO_EC2M
message(out, "BN_GF2m_add");
if (!test_gf2m_add(out))
@@ -1839,6 +1845,52 @@ int test_small_prime(BIO *bp, BN_CTX *ctx)
return ret;
}
+int test_bn2dec(BIO *bp)
+{
+ static const char *bn2dec_tests[] = {
+ "0",
+ "1",
+ "-1",
+ "100",
+ "-100",
+ "123456789012345678901234567890",
+ "-123456789012345678901234567890",
+ "123456789012345678901234567890123456789012345678901234567890",
+ "-123456789012345678901234567890123456789012345678901234567890",
+ };
+ int ret = 0;
+ size_t i;
+ BIGNUM *bn = NULL;
+ char *dec = NULL;
+
+ for (i = 0; i < OSSL_NELEM(bn2dec_tests); i++) {
+ if (!BN_dec2bn(&bn, bn2dec_tests[i]))
+ goto err;
+
+ dec = BN_bn2dec(bn);
+ if (dec == NULL) {
+ fprintf(stderr, "BN_bn2dec failed on %s.\n", bn2dec_tests[i]);
+ goto err;
+ }
+
+ if (strcmp(dec, bn2dec_tests[i]) != 0) {
+ fprintf(stderr, "BN_bn2dec gave %s, wanted %s.\n", dec,
+ bn2dec_tests[i]);
+ goto err;
+ }
+
+ OPENSSL_free(dec);
+ dec = NULL;
+ }
+
+ ret = 1;
+
+err:
+ BN_free(bn);
+ OPENSSL_free(dec);
+ return ret;
+}
+
int test_lshift(BIO *bp, BN_CTX *ctx, BIGNUM *a_)
{
BIGNUM *a, *b, *c, *d;
More information about the openssl-commits
mailing list