diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/lib/libcrypto/bn/bn_test.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/regress/lib/libcrypto/bn/bn_test.c b/src/regress/lib/libcrypto/bn/bn_test.c index a5fe58f55a..1476a92ee2 100644 --- a/src/regress/lib/libcrypto/bn/bn_test.c +++ b/src/regress/lib/libcrypto/bn/bn_test.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: bn_test.c,v 1.8 2023/04/07 22:25:09 tb Exp $ */ | 1 | /* $OpenBSD: bn_test.c,v 1.9 2023/04/07 22:28:21 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -135,6 +135,9 @@ static int results = 0; | |||
| 135 | static void | 135 | static void |
| 136 | message(BIO *out, char *m) | 136 | message(BIO *out, char *m) |
| 137 | { | 137 | { |
| 138 | ERR_print_errors_fp(stderr); | ||
| 139 | ERR_clear_error(); | ||
| 140 | |||
| 138 | fprintf(stderr, "test %s\n", m); | 141 | fprintf(stderr, "test %s\n", m); |
| 139 | BIO_puts(out, "print \"test "); | 142 | BIO_puts(out, "print \"test "); |
| 140 | BIO_puts(out, m); | 143 | BIO_puts(out, m); |
| @@ -483,6 +486,7 @@ test_div(BIO *bp, BN_CTX *ctx) | |||
| 483 | fprintf(stderr, "Division by zero succeeded!\n"); | 486 | fprintf(stderr, "Division by zero succeeded!\n"); |
| 484 | goto err; | 487 | goto err; |
| 485 | } | 488 | } |
| 489 | ERR_clear_error(); | ||
| 486 | 490 | ||
| 487 | for (i = 0; i < num0 + num1; i++) { | 491 | for (i = 0; i < num0 + num1; i++) { |
| 488 | if (i < num1) { | 492 | if (i < num1) { |
| @@ -895,12 +899,14 @@ test_mont(BIO *bp, BN_CTX *ctx) | |||
| 895 | fprintf(stderr, "BN_MONT_CTX_set succeeded for zero modulus!\n"); | 899 | fprintf(stderr, "BN_MONT_CTX_set succeeded for zero modulus!\n"); |
| 896 | goto err; | 900 | goto err; |
| 897 | } | 901 | } |
| 902 | ERR_clear_error(); | ||
| 898 | 903 | ||
| 899 | CHECK_GOTO(BN_set_word(n, 16)); | 904 | CHECK_GOTO(BN_set_word(n, 16)); |
| 900 | if (BN_MONT_CTX_set(mont, n, ctx)) { | 905 | if (BN_MONT_CTX_set(mont, n, ctx)) { |
| 901 | fprintf(stderr, "BN_MONT_CTX_set succeeded for even modulus!\n"); | 906 | fprintf(stderr, "BN_MONT_CTX_set succeeded for even modulus!\n"); |
| 902 | goto err; | 907 | goto err; |
| 903 | } | 908 | } |
| 909 | ERR_clear_error(); | ||
| 904 | 910 | ||
| 905 | CHECK_GOTO(BN_bntest_rand(a, 100, 0, 0)); | 911 | CHECK_GOTO(BN_bntest_rand(a, 100, 0, 0)); |
| 906 | CHECK_GOTO(BN_bntest_rand(b, 100, 0, 0)); | 912 | CHECK_GOTO(BN_bntest_rand(b, 100, 0, 0)); |
| @@ -1033,6 +1039,7 @@ test_mod_mul(BIO *bp, BN_CTX *ctx) | |||
| 1033 | fprintf(stderr, "BN_mod_mul with zero modulus succeeded!\n"); | 1039 | fprintf(stderr, "BN_mod_mul with zero modulus succeeded!\n"); |
| 1034 | goto err; | 1040 | goto err; |
| 1035 | } | 1041 | } |
| 1042 | ERR_clear_error(); | ||
| 1036 | 1043 | ||
| 1037 | for (j = 0; j < 3; j++) { | 1044 | for (j = 0; j < 3; j++) { |
| 1038 | CHECK_GOTO(BN_bntest_rand(c, 1024, 0, 0)); | 1045 | CHECK_GOTO(BN_bntest_rand(c, 1024, 0, 0)); |
| @@ -1118,14 +1125,17 @@ test_mod_exp(BIO *bp, BN_CTX *ctx) | |||
| 1118 | fprintf(stderr, "BN_mod_exp with zero modulus succeeded!\n"); | 1125 | fprintf(stderr, "BN_mod_exp with zero modulus succeeded!\n"); |
| 1119 | goto err; | 1126 | goto err; |
| 1120 | } | 1127 | } |
| 1128 | ERR_clear_error(); | ||
| 1121 | if (BN_mod_exp_ct(d, a, b, c, ctx)) { | 1129 | if (BN_mod_exp_ct(d, a, b, c, ctx)) { |
| 1122 | fprintf(stderr, "BN_mod_exp_ct with zero modulus succeeded!\n"); | 1130 | fprintf(stderr, "BN_mod_exp_ct with zero modulus succeeded!\n"); |
| 1123 | goto err; | 1131 | goto err; |
| 1124 | } | 1132 | } |
| 1133 | ERR_clear_error(); | ||
| 1125 | if (BN_mod_exp_nonct(d, a, b, c, ctx)) { | 1134 | if (BN_mod_exp_nonct(d, a, b, c, ctx)) { |
| 1126 | fprintf(stderr, "BN_mod_exp_nonct with zero modulus succeeded!\n"); | 1135 | fprintf(stderr, "BN_mod_exp_nonct with zero modulus succeeded!\n"); |
| 1127 | goto err; | 1136 | goto err; |
| 1128 | } | 1137 | } |
| 1138 | ERR_clear_error(); | ||
| 1129 | 1139 | ||
| 1130 | CHECK_GOTO(BN_bntest_rand(c, 30, 0, 1)); /* must be odd for montgomery */ | 1140 | CHECK_GOTO(BN_bntest_rand(c, 30, 0, 1)); /* must be odd for montgomery */ |
| 1131 | for (i = 0; i < num2; i++) { | 1141 | for (i = 0; i < num2; i++) { |
| @@ -1254,6 +1264,7 @@ test_mod_exp_mont_consttime(BIO *bp, BN_CTX *ctx) | |||
| 1254 | "succeeded\n"); | 1264 | "succeeded\n"); |
| 1255 | goto err; | 1265 | goto err; |
| 1256 | } | 1266 | } |
| 1267 | ERR_clear_error(); | ||
| 1257 | 1268 | ||
| 1258 | CHECK_GOTO(BN_set_word(c, 16)); | 1269 | CHECK_GOTO(BN_set_word(c, 16)); |
| 1259 | if (BN_mod_exp_mont_consttime(d, a, b, c, ctx, NULL)) { | 1270 | if (BN_mod_exp_mont_consttime(d, a, b, c, ctx, NULL)) { |
| @@ -1261,6 +1272,7 @@ test_mod_exp_mont_consttime(BIO *bp, BN_CTX *ctx) | |||
| 1261 | "succeeded\n"); | 1272 | "succeeded\n"); |
| 1262 | goto err; | 1273 | goto err; |
| 1263 | } | 1274 | } |
| 1275 | ERR_clear_error(); | ||
| 1264 | 1276 | ||
| 1265 | CHECK_GOTO(BN_bntest_rand(c, 30, 0, 1)); /* must be odd for montgomery */ | 1277 | CHECK_GOTO(BN_bntest_rand(c, 30, 0, 1)); /* must be odd for montgomery */ |
| 1266 | for (i = 0; i < num2; i++) { | 1278 | for (i = 0; i < num2; i++) { |
