summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2018-11-06 13:17:42 +0000
committertb <>2018-11-06 13:17:42 +0000
commit787819c8956c948e042a0e279bdb1f9a95862f33 (patch)
treedba01360992ec529cd5cebf20819894245c07cb8
parent59b4f7425a0a865fab1058db28717a1c5937f928 (diff)
downloadopenbsd-787819c8956c948e042a0e279bdb1f9a95862f33.tar.gz
openbsd-787819c8956c948e042a0e279bdb1f9a95862f33.tar.bz2
openbsd-787819c8956c948e042a0e279bdb1f9a95862f33.zip
better failure printing, add more checks
-rw-r--r--src/regress/lib/libcrypto/bn/rand/bn_rand_interval.c44
1 files changed, 35 insertions, 9 deletions
diff --git a/src/regress/lib/libcrypto/bn/rand/bn_rand_interval.c b/src/regress/lib/libcrypto/bn/rand/bn_rand_interval.c
index 57c55f0496..09b1a34eea 100644
--- a/src/regress/lib/libcrypto/bn/rand/bn_rand_interval.c
+++ b/src/regress/lib/libcrypto/bn/rand/bn_rand_interval.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bn_rand_interval.c,v 1.1 2018/11/06 06:55:27 tb Exp $ */ 1/* $OpenBSD: bn_rand_interval.c,v 1.2 2018/11/06 13:17:42 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> 3 * Copyright (c) 2018 Theo Buehler <tb@openbsd.org>
4 * 4 *
@@ -24,7 +24,28 @@
24 24
25int bn_rand_interval(BIGNUM *rnd, const BIGNUM *lower_incl, 25int bn_rand_interval(BIGNUM *rnd, const BIGNUM *lower_incl,
26 const BIGNUM *upper_excl); 26 const BIGNUM *upper_excl);
27void print_triple(BIGNUM *a, BIGNUM *b, BIGNUM *x);
28
29void
30print_triple(BIGNUM *a, BIGNUM *b, BIGNUM *x) {
31 if (a != NULL) {
32 printf("a = ");
33 BN_print_fp(stdout, a);
34 printf("\n");
35 }
36
37 if (b != NULL) {
38 printf("b = ");
39 BN_print_fp(stdout, b);
40 printf("\n");
41 }
27 42
43 if (x != NULL) {
44 printf("x = ");
45 BN_print_fp(stdout, x);
46 printf("\n");
47 }
48}
28 49
29int 50int
30main(int argc, char *argv[]) 51main(int argc, char *argv[])
@@ -45,7 +66,9 @@ main(int argc, char *argv[])
45 66
46 if (bn_rand_interval(x, a, a) != 0) { 67 if (bn_rand_interval(x, a, a) != 0) {
47 success = 0; 68 success = 0;
69
48 printf("bn_rand_interval(a == a) succeeded\n"); 70 printf("bn_rand_interval(a == a) succeeded\n");
71 print_triple(a, NULL, x);
49 } 72 }
50 73
51 if (!BN_rand(b, 256, 0, 0)) 74 if (!BN_rand(b, 256, 0, 0))
@@ -67,14 +90,17 @@ main(int argc, char *argv[])
67 err(1, "bn_rand_interval() failed"); 90 err(1, "bn_rand_interval() failed");
68 91
69 if (BN_cmp(x, a) < 0 || BN_cmp(x, b) >= 0) { 92 if (BN_cmp(x, a) < 0 || BN_cmp(x, b) >= 0) {
70 printf("generated number xnot inside [a,b)\n"); 93 success = 0;
71 printf("a = "); 94
72 BN_print_fp(stdout, a); 95 printf("generated number x not inside [a,b)\n");
73 printf("\nb = "); 96 print_triple(a, b, x);
74 BN_print_fp(stdout, b); 97 }
75 printf("\nx = "); 98
76 BN_print_fp(stdout, x); 99 if (bn_rand_interval(x, b, a) != 0) {
77 printf("\n"); 100 success = 0;
101
102 printf("bn_rand_interval(x, b, a) succeeded\n");
103 print_triple(a, b, x);
78 } 104 }
79 } 105 }
80 106