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++) { |