diff options
author | tb <> | 2018-11-06 13:17:42 +0000 |
---|---|---|
committer | tb <> | 2018-11-06 13:17:42 +0000 |
commit | 787819c8956c948e042a0e279bdb1f9a95862f33 (patch) | |
tree | dba01360992ec529cd5cebf20819894245c07cb8 | |
parent | 59b4f7425a0a865fab1058db28717a1c5937f928 (diff) | |
download | openbsd-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.c | 44 |
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 | ||
25 | int bn_rand_interval(BIGNUM *rnd, const BIGNUM *lower_incl, | 25 | int bn_rand_interval(BIGNUM *rnd, const BIGNUM *lower_incl, |
26 | const BIGNUM *upper_excl); | 26 | const BIGNUM *upper_excl); |
27 | void print_triple(BIGNUM *a, BIGNUM *b, BIGNUM *x); | ||
28 | |||
29 | void | ||
30 | print_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 | ||
29 | int | 50 | int |
30 | main(int argc, char *argv[]) | 51 | main(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 | ||