diff options
| -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 | ||
