summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bntest.c
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2000-11-30 21:03:13 +0000
committerBodo Möller <bodo@openssl.org>2000-11-30 21:03:13 +0000
commitb2993bdea10ed0c1344ce8b9fa9ddacfe681e822 (patch)
tree9380a36d923ce965f77ebaaa77d276301d71d30f /crypto/bn/bntest.c
parent470fa98f8aa5ca37e7e6720be7ca1abda8f906f0 (diff)
Remove randomness from the test. These constants give me a segment
violation in test_kron on a 32 bit system.
Diffstat (limited to 'crypto/bn/bntest.c')
-rw-r--r--crypto/bn/bntest.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/crypto/bn/bntest.c b/crypto/bn/bntest.c
index 9162999c27..3c0c95feb6 100644
--- a/crypto/bn/bntest.c
+++ b/crypto/bn/bntest.c
@@ -949,21 +949,25 @@ int test_kron(BIO *bp, BN_CTX *ctx)
#if 0
if (!BN_generate_prime(b, 512, 0, NULL, NULL, genprime_cb, NULL)) goto err;
#else
- BN_set_word(b,65537);
+ if (!BN_set_word(b,65537)) goto err;
#endif
putc('\n', stderr);
for (i = 0; i < num0; i++)
{
+#if 0
if (!BN_rand(a, 512, 0, 0)) goto err;
a->neg = rand_neg();
+#else
+ if (!BN_bin2bn("\x01\xff\xff\xff\xff", 5, a)) goto err;
+#endif
/* t := (b-1)/2 (note that b is odd) */
if (!BN_copy(t, b)) goto err;
if (!BN_sub_word(t, 1)) goto err;
if (!BN_rshift1(t, t)) goto err;
/* r := a^t mod b */
-#if 1
+#if 0
if (!BN_mod_exp(r, a, t, b, ctx)) goto err;
#elif 0
if (!BN_mod_exp_recp(r, a, t, b, ctx)) goto err;
@@ -973,6 +977,8 @@ int test_kron(BIO *bp, BN_CTX *ctx)
if (BN_is_word(r, 1))
legendre = 1;
+ else if (BN_is_zero(r))
+ legendre = 0;
else
{
if (!BN_add_word(r, 1)) goto err;