OpenCoverage

bn_exp.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_exp.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8int-
9BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)-
10{-
11 int i, bits, ret = 0;-
12 BIGNUM *v, *rr;-
13-
14 if (((
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
p)->flags&(0x04)) != 0
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
) {
0-25
15-
16 ERR_put_error(3,(0xfff),((2|64)),__FILE__,132);-
17 return
never executed: return -1;
-1;
never executed: return -1;
0
18 }-
19-
20 BN_CTX_start(ctx);-
21 if ((
(r == a)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
r == a)
(r == a)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
|| (
(r == p)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
r == p)
(r == p)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
)
0-25
22 rr = BN_CTX_get(ctx);
never executed: rr = BN_CTX_get(ctx);
0
23 else-
24 rr = r;
executed 25 times by 1 test: rr = r;
Executed by:
  • bntest
25
25 v = BN_CTX_get(ctx);-
26 if (rr ==
rr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
0-25
27 ((void *)0)
rr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
0-25
28 || v ==
v == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
0-25
29 ((void *)0)
v == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
0-25
30 )-
31 goto
never executed: goto err;
err;
never executed: goto err;
0
32-
33 if (BN_copy(v, a) ==
BN_copy(v, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
0-25
34 ((void *)0)
BN_copy(v, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
0-25
35 )-
36 goto
never executed: goto err;
err;
never executed: goto err;
0
37 bits = BN_num_bits(p);-
38-
39 if ((((
((p)->top > 0)Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
p)->top > 0)
((p)->top > 0)Description
TRUEevaluated 25 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& ((
((p)->d[0] & 1)Description
TRUEevaluated 16 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 9 times by 1 test
Evaluated by:
  • bntest
p)->d[0] & 1)
((p)->d[0] & 1)Description
TRUEevaluated 16 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 9 times by 1 test
Evaluated by:
  • bntest
)) {
0-25
40 if (BN_copy(rr, a) ==
BN_copy(rr, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • bntest
0-16
41 ((void *)0)
BN_copy(rr, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • bntest
0-16
42 )-
43 goto
never executed: goto err;
err;
never executed: goto err;
0
44 }
executed 16 times by 1 test: end of block
Executed by:
  • bntest
else {
16
45 if (!(BN_set_word((rr),1))
!(BN_set_word((rr),1))Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • bntest
)
0-9
46 goto
never executed: goto err;
err;
never executed: goto err;
0
47 }
executed 9 times by 1 test: end of block
Executed by:
  • bntest
9
48-
49 for (i = 1; i < bits
i < bitsDescription
TRUEevaluated 75 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
; i++) {
25-75
50 if (!BN_sqr(v, v, ctx)
!BN_sqr(v, v, ctx)Description
TRUEnever evaluated
FALSEevaluated 75 times by 1 test
Evaluated by:
  • bntest
)
0-75
51 goto
never executed: goto err;
err;
never executed: goto err;
0
52 if (BN_is_bit_set(p, i)
BN_is_bit_set(p, i)Description
TRUEevaluated 45 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 30 times by 1 test
Evaluated by:
  • bntest
) {
30-45
53 if (!BN_mul(rr, rr, v, ctx)
!BN_mul(rr, rr, v, ctx)Description
TRUEnever evaluated
FALSEevaluated 45 times by 1 test
Evaluated by:
  • bntest
)
0-45
54 goto
never executed: goto err;
err;
never executed: goto err;
0
55 }
executed 45 times by 1 test: end of block
Executed by:
  • bntest
45
56 }
executed 75 times by 1 test: end of block
Executed by:
  • bntest
75
57 ret = 1;-
58-
59err:
code before this statement executed 25 times by 1 test: err:
Executed by:
  • bntest
25
60 if (r != rr
r != rrDescription
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • bntest
&& rr !=
rr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0-25
61 ((void *)0)
rr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
62 )-
63 BN_copy(r, rr);
never executed: BN_copy(r, rr);
0
64 BN_CTX_end(ctx);-
65 ;-
66 return
executed 25 times by 1 test: return (ret);
Executed by:
  • bntest
(ret);
executed 25 times by 1 test: return (ret);
Executed by:
  • bntest
25
67}-
68-
69static int-
70BN_mod_exp_internal(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
71 BN_CTX *ctx, int ct)-
72{-
73 int ret;-
74-
75 ;-
76 ;-
77 ;-
78 if ((((
((m)->top > 0)Description
TRUEevaluated 294 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • bntest
m)->top > 0)
((m)->top > 0)Description
TRUEevaluated 294 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • bntest
&& ((
((m)->d[0] & 1)Description
TRUEevaluated 294 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
m)->d[0] & 1)
((m)->d[0] & 1)Description
TRUEevaluated 294 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
)) {
0-294
79 if (a->top == 1
a->top == 1Description
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 233 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
&& !a->neg
!a->negDescription
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
&& !ct
!ctDescription
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 46 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-233
80 unsigned long A = a->d[0];-
81 ret = BN_mod_exp_mont_word(r, A,p, m,ctx, -
82 ((void *)0)-
83 );-
84 }
executed 15 times by 1 test: end of block
Executed by:
  • bntest
else
15
85 ret = BN_mod_exp_mont_ct(r, a,p, m,ctx,
executed 279 times by 9 tests: ret = BN_mod_exp_mont_ct(r, a,p, m,ctx, ((void *)0) );
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
279
86 ((void *)0)
executed 279 times by 9 tests: ret = BN_mod_exp_mont_ct(r, a,p, m,ctx, ((void *)0) );
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
279
87 );
executed 279 times by 9 tests: ret = BN_mod_exp_mont_ct(r, a,p, m,ctx, ((void *)0) );
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
279
88 } else {-
89 ret = BN_mod_exp_recp(r, a,p, m, ctx);-
90 }
executed 3 times by 1 test: end of block
Executed by:
  • bntest
3
91-
92 ;-
93 return
executed 297 times by 9 tests: return (ret);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 297 times by 9 tests: return (ret);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
297
94}-
95-
96int-
97BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
98 BN_CTX *ctx)-
99{-
100 return
executed 131 times by 2 tests: return BN_mod_exp_internal(r, a, p, m, ctx, (((p)->flags&(0x04)) != 0));
Executed by:
  • bntest
  • exptest
BN_mod_exp_internal(r, a, p, m, ctx,
executed 131 times by 2 tests: return BN_mod_exp_internal(r, a, p, m, ctx, (((p)->flags&(0x04)) != 0));
Executed by:
  • bntest
  • exptest
131
101 (((p)->flags&(0x04)) != 0));
executed 131 times by 2 tests: return BN_mod_exp_internal(r, a, p, m, ctx, (((p)->flags&(0x04)) != 0));
Executed by:
  • bntest
  • exptest
131
102}-
103-
104int-
105BN_mod_exp_ct(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
106 BN_CTX *ctx)-
107{-
108 return
executed 159 times by 9 tests: return BN_mod_exp_internal(r, a, p, m, ctx, 1);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
BN_mod_exp_internal(r, a, p, m, ctx, 1);
executed 159 times by 9 tests: return BN_mod_exp_internal(r, a, p, m, ctx, 1);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
159
109}-
110-
111-
112int-
113BN_mod_exp_nonct(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
114 BN_CTX *ctx)-
115{-
116 return
executed 7 times by 2 tests: return BN_mod_exp_internal(r, a, p, m, ctx, 0);
Executed by:
  • bntest
  • exptest
BN_mod_exp_internal(r, a, p, m, ctx, 0);
executed 7 times by 2 tests: return BN_mod_exp_internal(r, a, p, m, ctx, 0);
Executed by:
  • bntest
  • exptest
7
117}-
118-
119-
120int-
121BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
122 BN_CTX *ctx)-
123{-
124 int i, j, bits, ret = 0, wstart, wend, window, wvalue;-
125 int start = 1;-
126 BIGNUM *aa;-
127-
128 BIGNUM *val[32];-
129 BN_RECP_CTX recp;-
130-
131 if (((
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 304 times by 2 tests
Evaluated by:
  • bntest
  • exptest
p)->flags&(0x04)) != 0
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 304 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
0-304
132-
133 ERR_put_error(3,(0xfff),((2|64)),__FILE__,266);-
134 return
never executed: return -1;
-1;
never executed: return -1;
0
135 }-
136-
137 bits = BN_num_bits(p);-
138 if (bits == 0
bits == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
1-303
139-
140 if (((((((
(((m))->top == 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->top == 1)
(((m))->top == 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
&& (((
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->d[0] == (unsigned long)(1))
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
m))->top == 0)
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(m)->neg
!(m)->negDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)) {
0-1
141 ret = 1;-
142 (BN_set_word((r),0));-
143 }
executed 1 time by 1 test: end of block
Executed by:
  • exptest
else
1
144 ret = (BN_set_word((r),1));
never executed: ret = (BN_set_word((r),1));
0
145 return
executed 1 time by 1 test: return ret;
Executed by:
  • exptest
ret;
executed 1 time by 1 test: return ret;
Executed by:
  • exptest
1
146 }-
147-
148 BN_CTX_start(ctx);-
149 if ((
(aa = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
aa = BN_CTX_get(ctx)) ==
(aa = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-303
150 ((void *)0)
(aa = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-303
151 )-
152 goto
never executed: goto err;
err;
never executed: goto err;
0
153 if ((
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
val[0] = BN_CTX_get(ctx)) ==
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-303
154 ((void *)0)
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-303
155 )-
156 goto
never executed: goto err;
err;
never executed: goto err;
0
157-
158 BN_RECP_CTX_init(&recp);-
159 if (m->neg
m->negDescription
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
0-303
160-
161 if (!BN_copy(aa, m)
!BN_copy(aa, m)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
162 goto
never executed: goto err;
err;
never executed: goto err;
0
163 aa->neg = 0;-
164 if (BN_RECP_CTX_set(&recp, aa, ctx) <= 0
BN_RECP_CTX_se... aa, ctx) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
165 goto
never executed: goto err;
err;
never executed: goto err;
0
166 }
never executed: end of block
else {
0
167 if (BN_RECP_CTX_set(&recp, m, ctx) <= 0
BN_RECP_CTX_se..., m, ctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 303 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-303
168 goto
never executed: goto err;
err;
never executed: goto err;
0
169 }
executed 303 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
303
170-
171 if (!BN_nnmod(val[0], a, m, ctx)
!BN_nnmod(val[0], a, m, ctx)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
3-300
172 goto
executed 3 times by 1 test: goto err;
Executed by:
  • bntest
err;
executed 3 times by 1 test: goto err;
Executed by:
  • bntest
3
173 if (((
((val[0])->top == 0)Description
TRUEnever evaluated
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
val[0])->top == 0)
((val[0])->top == 0)Description
TRUEnever evaluated
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
0-300
174 (BN_set_word((r),0));-
175 ret = 1;-
176 goto
never executed: goto err;
err;
never executed: goto err;
0
177 }-
178-
179 window = ((
(bits) > 671Description
TRUEnever evaluated
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
bits) > 671
(bits) > 671Description
TRUEnever evaluated
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
? 6 : (
(bits) > 239Description
TRUEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
bits) > 239
(bits) > 239Description
TRUEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
? 5 : (
(bits) > 79Description
TRUEnever evaluated
FALSEnever evaluated
bits) > 79
(bits) > 79Description
TRUEnever evaluated
FALSEnever evaluated
? 4 : (
(bits) > 23Description
TRUEnever evaluated
FALSEnever evaluated
bits) > 23
(bits) > 23Description
TRUEnever evaluated
FALSEnever evaluated
? 3 : 1);
0-300
180 if (window > 1
window > 1Description
TRUEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
) {
0-300
181 if (!BN_mod_mul_reciprocal(aa, val[0], val[0], &recp, ctx)
!BN_mod_mul_re...], &recp, ctx)Description
TRUEnever evaluated
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-300
182 goto
never executed: goto err;
err;
never executed: goto err;
0
183 j = 1 << (window - 1);-
184 for (i = 1; i < j
i < jDescription
TRUEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
; i++) {
300-4500
185 if (((
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
val[i] = BN_CTX_get(ctx)) ==
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-4500
186 ((void *)0)
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-4500
187 )
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
||
0-4500
188 !BN_mod_mul_reciprocal(val[i], val[i - 1],
!BN_mod_mul_re...a, &recp, ctx)Description
TRUEnever evaluated
FALSEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-4500
189 aa, &recp, ctx)
!BN_mod_mul_re...a, &recp, ctx)Description
TRUEnever evaluated
FALSEevaluated 4500 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-4500
190 goto
never executed: goto err;
err;
never executed: goto err;
0
191 }
executed 4500 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
4500
192 }
executed 300 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
300
193-
194 start = 1;-
195-
196-
197 wvalue = 0;-
198 wstart = bits - 1;-
199 wend = 0;-
200-
201 if (!(BN_set_word((r),1))
!(BN_set_word((r),1))Description
TRUEnever evaluated
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-300
202 goto
never executed: goto err;
err;
never executed: goto err;
0
203-
204 for (;;) {-
205 if (BN_is_bit_set(p, wstart) == 0
BN_is_bit_set(p, wstart) == 0Description
TRUEevaluated 37574 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 19232 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
19232-37574
206 if (!start
!startDescription
TRUEevaluated 37574 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
)
0-37574
207 if (!BN_mod_mul_reciprocal(r, r,r, &recp, ctx)
!BN_mod_mul_re...r, &recp, ctx)Description
TRUEnever evaluated
FALSEevaluated 37574 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-37574
208 goto
never executed: goto err;
err;
never executed: goto err;
0
209 if (wstart == 0
wstart == 0Description
TRUEevaluated 210 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 37364 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
210-37364
210 break;
executed 210 times by 2 tests: break;
Executed by:
  • bntest
  • exptest
210
211 wstart--;-
212 continue;
executed 37364 times by 2 tests: continue;
Executed by:
  • bntest
  • exptest
37364
213 }-
214-
215-
216-
217-
218 j = wstart;-
219 wvalue = 1;-
220 wend = 0;-
221 for (i = 1; i < window
i < windowDescription
TRUEevaluated 76732 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 19096 times by 2 tests
Evaluated by:
  • bntest
  • exptest
; i++) {
19096-76732
222 if (wstart - i < 0
wstart - i < 0Description
TRUEevaluated 136 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 76596 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
136-76596
223 break;
executed 136 times by 1 test: break;
Executed by:
  • exptest
136
224 if (BN_is_bit_set(p, wstart - i)
BN_is_bit_set(p, wstart - i)Description
TRUEevaluated 39816 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 36780 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
36780-39816
225 wvalue <<= (i - wend);-
226 wvalue |= 1;-
227 wend = i;-
228 }
executed 39816 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
39816
229 }
executed 76596 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
76596
230-
231-
232 j = wend + 1;-
233-
234 if (!start
!startDescription
TRUEevaluated 18932 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 300 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
300-18932
235 for (i = 0; i < j
i < jDescription
TRUEevaluated 76610 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 18932 times by 2 tests
Evaluated by:
  • bntest
  • exptest
; i++) {
18932-76610
236 if (!BN_mod_mul_reciprocal(r, r,r, &recp, ctx)
!BN_mod_mul_re...r, &recp, ctx)Description
TRUEnever evaluated
FALSEevaluated 76610 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-76610
237 goto
never executed: goto err;
err;
never executed: goto err;
0
238 }
executed 76610 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
76610
239-
240-
241 if (!BN_mod_mul_reciprocal(r, r,val[wvalue >> 1], &recp, ctx)
!BN_mod_mul_re...], &recp, ctx)Description
TRUEnever evaluated
FALSEevaluated 19232 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-19232
242 goto
never executed: goto err;
err;
never executed: goto err;
0
243-
244-
245 wstart -= wend + 1;-
246 wvalue = 0;-
247 start = 0;-
248 if (wstart < 0
wstart < 0Description
TRUEevaluated 90 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 19142 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
90-19142
249 break;
executed 90 times by 1 test: break;
Executed by:
  • exptest
90
250 }
executed 19142 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
19142
251 ret = 1;-
252-
253err:
code before this statement executed 300 times by 2 tests: err:
Executed by:
  • bntest
  • exptest
300
254 BN_CTX_end(ctx);-
255 BN_RECP_CTX_free(&recp);-
256 ;-
257 return
executed 303 times by 2 tests: return (ret);
Executed by:
  • bntest
  • exptest
(ret);
executed 303 times by 2 tests: return (ret);
Executed by:
  • bntest
  • exptest
303
258}-
259-
260static int-
261BN_mod_exp_mont_internal(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
262 BN_CTX *ctx, BN_MONT_CTX *in_mont, int ct)-
263{-
264 int i, j, bits, ret = 0, wstart, wend, window, wvalue;-
265 int start = 1;-
266 BIGNUM *d, *r;-
267 const BIGNUM *aa;-
268-
269 BIGNUM *val[32];-
270 BN_MONT_CTX *mont = -
271 ((void *)0)-
272 ;-
273-
274 if (ct
ctDescription
TRUEevaluated 4014 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 402 times by 1 test
Evaluated by:
  • exptest
) {
402-4014
275 return
executed 4014 times by 12 tests: return BN_mod_exp_mont_consttime(rr, a, p, m, ctx, in_mont);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
BN_mod_exp_mont_consttime(rr, a, p, m, ctx, in_mont);
executed 4014 times by 12 tests: return BN_mod_exp_mont_consttime(rr, a, p, m, ctx, in_mont);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4014
276 }-
277-
278 ;-
279 ;-
280 ;-
281-
282 if (!(((
((m)->top > 0)Description
TRUEevaluated 402 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m)->top > 0)
((m)->top > 0)Description
TRUEevaluated 402 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
&& ((
((m)->d[0] & 1)Description
TRUEevaluated 402 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m)->d[0] & 1)
((m)->d[0] & 1)Description
TRUEevaluated 402 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)) {
0-402
283 ERR_put_error(3,(0xfff),(102),__FILE__,408);-
284 return
never executed: return (0);
(0);
never executed: return (0);
0
285 }-
286-
287 bits = BN_num_bits(p);-
288 if (bits == 0
bits == 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
) {
2-400
289-
290 if (((((((
(((m))->top == 1)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->top == 1)
(((m))->top == 1)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
&& (((
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->d[0] == (unsigned long)(1))
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
m))->top == 0)
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(m)->neg
!(m)->negDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)) {
0-2
291 ret = 1;-
292 (BN_set_word((rr),0));-
293 }
executed 2 times by 1 test: end of block
Executed by:
  • exptest
else
2
294 ret = (BN_set_word((rr),1));
never executed: ret = (BN_set_word((rr),1));
0
295 return
executed 2 times by 1 test: return ret;
Executed by:
  • exptest
ret;
executed 2 times by 1 test: return ret;
Executed by:
  • exptest
2
296 }-
297-
298 BN_CTX_start(ctx);-
299 if ((
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
d = BN_CTX_get(ctx)) ==
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
300 ((void *)0)
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
301 )-
302 goto
never executed: goto err;
err;
never executed: goto err;
0
303 if ((
(r = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
r = BN_CTX_get(ctx)) ==
(r = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
304 ((void *)0)
(r = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
305 )-
306 goto
never executed: goto err;
err;
never executed: goto err;
0
307 if ((
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
val[0] = BN_CTX_get(ctx)) ==
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
308 ((void *)0)
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
309 )-
310 goto
never executed: goto err;
err;
never executed: goto err;
0
311-
312-
313-
314-
315 if (in_mont !=
in_mont != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
316 ((void *)0)
in_mont != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
317 )-
318 mont = in_mont;
never executed: mont = in_mont;
0
319 else {-
320 if ((
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
mont = BN_MONT_CTX_new()) ==
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
321 ((void *)0)
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
0-400
322 )-
323 goto
never executed: goto err;
err;
never executed: goto err;
0
324 if (!BN_MONT_CTX_set(mont, m, ctx)
!BN_MONT_CTX_set(mont, m, ctx)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
)
0-400
325 goto
never executed: goto err;
err;
never executed: goto err;
0
326 }
executed 400 times by 1 test: end of block
Executed by:
  • exptest
400
327-
328 if (a->neg
a->negDescription
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
|| BN_ucmp(a, m) >= 0
BN_ucmp(a, m) >= 0Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
) {
0-400
329 if (!BN_nnmod(val[0], a,m, ctx)
!BN_nnmod(val[0], a,m, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
330 goto
never executed: goto err;
err;
never executed: goto err;
0
331 aa = val[0];-
332 }
never executed: end of block
else
0
333 aa = a;
executed 400 times by 1 test: aa = a;
Executed by:
  • exptest
400
334 if (((
((aa)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
aa)->top == 0)
((aa)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
) {
0-400
335 (BN_set_word((rr),0));-
336 ret = 1;-
337 goto
never executed: goto err;
err;
never executed: goto err;
0
338 }-
339 if (!BN_mod_mul_montgomery( (val[0]),(aa),&((mont)->RR),(mont),(ctx))
!BN_mod_mul_mo...,(mont),(ctx))Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
)
0-400
340 goto
never executed: goto err;
err;
never executed: goto err;
0
341-
342 window = ((
(bits) > 671Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
bits) > 671
(bits) > 671Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
? 6 : (
(bits) > 239Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
bits) > 239
(bits) > 239Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
? 5 : (
(bits) > 79Description
TRUEnever evaluated
FALSEnever evaluated
bits) > 79
(bits) > 79Description
TRUEnever evaluated
FALSEnever evaluated
? 4 : (
(bits) > 23Description
TRUEnever evaluated
FALSEnever evaluated
bits) > 23
(bits) > 23Description
TRUEnever evaluated
FALSEnever evaluated
? 3 : 1);
0-400
343 if (window > 1
window > 1Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
) {
0-400
344 if (!BN_mod_mul_montgomery(d, val[0], val[0], mont, ctx)
!BN_mod_mul_mo...0], mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
)
0-400
345 goto
never executed: goto err;
err;
never executed: goto err;
0
346 j = 1 << (window - 1);-
347 for (i = 1; i < j
i < jDescription
TRUEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
; i++) {
400-6000
348 if (((
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
val[i] = BN_CTX_get(ctx)) ==
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
0-6000
349 ((void *)0)
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
0-6000
350 )
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
||
0-6000
351 !BN_mod_mul_montgomery(val[i], val[i - 1],
!BN_mod_mul_mo... d, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
0-6000
352 d, mont, ctx)
!BN_mod_mul_mo... d, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 6000 times by 1 test
Evaluated by:
  • exptest
)
0-6000
353 goto
never executed: goto err;
err;
never executed: goto err;
0
354 }
executed 6000 times by 1 test: end of block
Executed by:
  • exptest
6000
355 }
executed 400 times by 1 test: end of block
Executed by:
  • exptest
400
356-
357 start = 1;-
358-
359-
360 wvalue = 0;-
361 wstart = bits - 1;-
362 wend = 0;-
363-
364 if (!BN_mod_mul_montgomery( (r),(BN_value_one()),&((mont)->RR),(mont),(ctx))
!BN_mod_mul_mo...,(mont),(ctx))Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
)
0-400
365 goto
never executed: goto err;
err;
never executed: goto err;
0
366 for (;;) {-
367 if (BN_is_bit_set(p, wstart) == 0
BN_is_bit_set(p, wstart) == 0Description
TRUEevaluated 41348 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 21664 times by 1 test
Evaluated by:
  • exptest
) {
21664-41348
368 if (!start
!startDescription
TRUEevaluated 41348 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
) {
0-41348
369 if (!BN_mod_mul_montgomery(r, r, r, mont, ctx)
!BN_mod_mul_mo... r, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 41348 times by 1 test
Evaluated by:
  • exptest
)
0-41348
370 goto
never executed: goto err;
err;
never executed: goto err;
0
371 }
executed 41348 times by 1 test: end of block
Executed by:
  • exptest
41348
372 if (wstart == 0
wstart == 0Description
TRUEevaluated 220 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 41128 times by 1 test
Evaluated by:
  • exptest
)
220-41128
373 break;
executed 220 times by 1 test: break;
Executed by:
  • exptest
220
374 wstart--;-
375 continue;
executed 41128 times by 1 test: continue;
Executed by:
  • exptest
41128
376 }-
377-
378-
379-
380-
381 j = wstart;-
382 wvalue = 1;-
383 wend = 0;-
384 for (i = 1; i < window
i < windowDescription
TRUEevaluated 86264 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 21392 times by 1 test
Evaluated by:
  • exptest
; i++) {
21392-86264
385 if (wstart - i < 0
wstart - i < 0Description
TRUEevaluated 272 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 85992 times by 1 test
Evaluated by:
  • exptest
)
272-85992
386 break;
executed 272 times by 1 test: break;
Executed by:
  • exptest
272
387 if (BN_is_bit_set(p, wstart - i)
BN_is_bit_set(p, wstart - i)Description
TRUEevaluated 43032 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 42960 times by 1 test
Evaluated by:
  • exptest
) {
42960-43032
388 wvalue <<= (i - wend);-
389 wvalue |= 1;-
390 wend = i;-
391 }
executed 43032 times by 1 test: end of block
Executed by:
  • exptest
43032
392 }
executed 85992 times by 1 test: end of block
Executed by:
  • exptest
85992
393-
394-
395 j = wend + 1;-
396-
397 if (!start
!startDescription
TRUEevaluated 21264 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
)
400-21264
398 for (i = 0; i < j
i < jDescription
TRUEevaluated 85820 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 21264 times by 1 test
Evaluated by:
  • exptest
; i++) {
21264-85820
399 if (!BN_mod_mul_montgomery(r, r, r, mont, ctx)
!BN_mod_mul_mo... r, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 85820 times by 1 test
Evaluated by:
  • exptest
)
0-85820
400 goto
never executed: goto err;
err;
never executed: goto err;
0
401 }
executed 85820 times by 1 test: end of block
Executed by:
  • exptest
85820
402-
403-
404 if (!BN_mod_mul_montgomery(r, r, val[wvalue >> 1], mont, ctx)
!BN_mod_mul_mo...1], mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 21664 times by 1 test
Evaluated by:
  • exptest
)
0-21664
405 goto
never executed: goto err;
err;
never executed: goto err;
0
406-
407-
408 wstart -= wend + 1;-
409 wvalue = 0;-
410 start = 0;-
411 if (wstart < 0
wstart < 0Description
TRUEevaluated 180 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 21484 times by 1 test
Evaluated by:
  • exptest
)
180-21484
412 break;
executed 180 times by 1 test: break;
Executed by:
  • exptest
180
413 }
executed 21484 times by 1 test: end of block
Executed by:
  • exptest
21484
414 if (!BN_from_montgomery(rr, r,mont, ctx)
!BN_from_montg..., r,mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 400 times by 1 test
Evaluated by:
  • exptest
)
0-400
415 goto
never executed: goto err;
err;
never executed: goto err;
0
416 ret = 1;-
417-
418err:
code before this statement executed 400 times by 1 test: err:
Executed by:
  • exptest
400
419 if ((
(in_mont == ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
in_mont ==
(in_mont == ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
0-400
420 ((void *)0)
(in_mont == ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
0-400
421 )
(in_mont == ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
&& (
(mont != ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
mont !=
(mont != ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
0-400
422 ((void *)0)
(mont != ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
0-400
423 )
(mont != ((void *)0) )Description
TRUEevaluated 400 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)
0-400
424 BN_MONT_CTX_free(mont);
executed 400 times by 1 test: BN_MONT_CTX_free(mont);
Executed by:
  • exptest
400
425 BN_CTX_end(ctx);-
426 ;-
427 return
executed 400 times by 1 test: return (ret);
Executed by:
  • exptest
(ret);
executed 400 times by 1 test: return (ret);
Executed by:
  • exptest
400
428}-
429-
430int-
431BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
432 BN_CTX *ctx, BN_MONT_CTX *in_mont)-
433{-
434 return
executed 201 times by 1 test: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, (((p)->flags&(0x04)) != 0));
Executed by:
  • exptest
BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont,
executed 201 times by 1 test: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, (((p)->flags&(0x04)) != 0));
Executed by:
  • exptest
201
435 (((p)->flags&(0x04)) != 0));
executed 201 times by 1 test: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, (((p)->flags&(0x04)) != 0));
Executed by:
  • exptest
201
436}-
437-
438int-
439BN_mod_exp_mont_ct(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
440 BN_CTX *ctx, BN_MONT_CTX *in_mont)-
441{-
442 return
executed 4014 times by 12 tests: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, 1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, 1);
executed 4014 times by 12 tests: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, 1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4014
443}-
444-
445int-
446BN_mod_exp_mont_nonct(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
447 BN_CTX *ctx, BN_MONT_CTX *in_mont)-
448{-
449 return
executed 201 times by 1 test: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, 0);
Executed by:
  • exptest
BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, 0);
executed 201 times by 1 test: return BN_mod_exp_mont_internal(rr, a, p, m, ctx, in_mont, 0);
Executed by:
  • exptest
201
450}-
451-
452-
453-
454-
455-
456-
457static int-
458MOD_EXP_CTIME_COPY_TO_PREBUF(const BIGNUM *b, int top, unsigned char *buf,-
459 int idx, int window)-
460{-
461 int i, j;-
462 int width = 1 << window;-
463 unsigned long *table = (unsigned long *)buf;-
464-
465 if (top > b->top
top > b->topDescription
TRUEevaluated 258 times by 4 tests
Evaluated by:
  • ectest
  • exptest
  • rsa_test
  • servertest
FALSEevaluated 36468 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
258-36468
466 top = b->top;
executed 258 times by 4 tests: top = b->top;
Executed by:
  • ectest
  • exptest
  • rsa_test
  • servertest
258
467-
468 for (i = 0, j = idx; i < top
i < topDescription
TRUEevaluated 131835 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 36726 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i++, j += width) {
36726-131835
469 table[j] = b->d[i];-
470 }
executed 131835 times by 12 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
131835
471-
472 return
executed 36726 times by 12 tests: return 1;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
1;
executed 36726 times by 12 tests: return 1;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
36726
473}-
474-
475static int-
476MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, unsigned char *buf, int idx,-
477 int window)-
478{-
479 int i, j;-
480 int width = 1 << window;-
481 volatile unsigned long *table = (volatile unsigned long *)buf;-
482-
483 if ((((
((top) <= (b)->dmax)Description
TRUEevaluated 118300 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
top) <= (b)->dmax)
((top) <= (b)->dmax)Description
TRUEevaluated 118300 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
?(b):bn_expand2((b),(top))) ==
(((top) <= (b)...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 118300 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-118300
484 ((void *)0)
(((top) <= (b)...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 118300 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-118300
485 )-
486 return
never executed: return 0;
0;
never executed: return 0;
0
487-
488 if (window <= 3
window <= 3Description
TRUEevaluated 19482 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 98818 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
) {
19482-98818
489 for (i = 0; i < top
i < topDescription
TRUEevaluated 185525 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 19482 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i++, table += width) {
19482-185525
490 unsigned long acc = 0;-
491-
492 for (j = 0; j < width
j < widthDescription
TRUEevaluated 446830 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 185525 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; j++) {
185525-446830
493 acc |= table[j] &-
494 ((unsigned long)0 - (constant_time_eq_int(j,idx)&1));-
495 }
executed 446830 times by 10 tests: end of block
Executed by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
446830
496-
497 b->d[i] = acc;-
498 }
executed 185525 times by 10 tests: end of block
Executed by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
185525
499 }
executed 19482 times by 10 tests: end of block
Executed by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
else {
19482
500 int xstride = 1 << (window - 2);-
501 unsigned long y0, y1, y2, y3;-
502-
503 i = idx >> (window - 2);-
504 idx &= xstride - 1;-
505-
506 y0 = (unsigned long)0 - (constant_time_eq_int(i,0)&1);-
507 y1 = (unsigned long)0 - (constant_time_eq_int(i,1)&1);-
508 y2 = (unsigned long)0 - (constant_time_eq_int(i,2)&1);-
509 y3 = (unsigned long)0 - (constant_time_eq_int(i,3)&1);-
510-
511 for (i = 0; i < top
i < topDescription
TRUEevaluated 356568 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
FALSEevaluated 98818 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
; i++, table += width) {
98818-356568
512 unsigned long acc = 0;-
513-
514 for (j = 0; j < xstride
j < xstrideDescription
TRUEevaluated 1815488 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
FALSEevaluated 356568 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
; j++) {
356568-1815488
515 acc |= ( (table[j + 0 * xstride] & y0) |-
516 (table[j + 1 * xstride] & y1) |-
517 (table[j + 2 * xstride] & y2) |-
518 (table[j + 3 * xstride] & y3) )-
519 & ((unsigned long)0 - (constant_time_eq_int(j,idx)&1));-
520 }
executed 1815488 times by 9 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
1815488
521-
522 b->d[i] = acc;-
523 }
executed 356568 times by 9 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
356568
524 }
executed 98818 times by 9 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
98818
525 b->top = top;-
526 { unsigned long *ftl; int tmp_top = (b)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 118300 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) { for (ftl= &((b)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 119516 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 216 times by 1 test
Evaluated by:
  • rsa_test
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 118084 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1432 times by 4 tests
Evaluated by:
  • ectest
  • exptest
  • rsa_test
  • servertest
ftl--)
*(ftl--)Description
TRUEevaluated 118084 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1432 times by 4 tests
Evaluated by:
  • ectest
  • exptest
  • rsa_test
  • servertest
) break;
executed 118084 times by 12 tests: break;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
(b)->top = tmp_top; }
executed 118300 times by 12 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; };
0-119516
527 return
executed 118300 times by 12 tests: return 1;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
1;
executed 118300 times by 12 tests: return 1;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
118300
528}-
529int-
530BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,-
531 const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)-
532{-
533 int i, bits, ret = 0, window, wvalue;-
534 int top;-
535 BN_MONT_CTX *mont = -
536 ((void *)0)-
537 ;-
538 int numPowers;-
539 unsigned char *powerbufFree = -
540 ((void *)0)-
541 ;-
542 int powerbufLen = 0;-
543 unsigned char *powerbuf = -
544 ((void *)0)-
545 ;-
546 BIGNUM tmp, am;-
547-
548 ;-
549 ;-
550 ;-
551-
552 if (!(((
((m)->top > 0)Description
TRUEevaluated 4349 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
m)->top > 0)
((m)->top > 0)Description
TRUEevaluated 4349 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
&& ((
((m)->d[0] & 1)Description
TRUEevaluated 4348 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
m)->d[0] & 1)
((m)->d[0] & 1)Description
TRUEevaluated 4348 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
)) {
1-4349
553 ERR_put_error(3,(0xfff),(102),__FILE__,665);-
554 return
executed 2 times by 1 test: return (0);
Executed by:
  • bntest
(0);
executed 2 times by 1 test: return (0);
Executed by:
  • bntest
2
555 }-
556-
557 top = m->top;-
558-
559 bits = BN_num_bits(p);-
560 if (bits == 0
bits == 0Description
TRUEevaluated 9 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
9-4339
561-
562 if (((((((
(((m))->top == 1)Description
TRUEevaluated 8 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
m))->top == 1)
(((m))->top == 1)Description
TRUEevaluated 8 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
&& (((
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • bntest
m))->d[0] == (unsigned long)(1))
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • bntest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • bntest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • bntest
&& (((
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
m))->top == 0)
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(m)->neg
!(m)->negDescription
TRUEevaluated 5 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)) {
0-8
563 ret = 1;-
564 (BN_set_word((rr),0));-
565 }
executed 5 times by 1 test: end of block
Executed by:
  • exptest
else
5
566 ret = (BN_set_word((rr),1));
executed 4 times by 1 test: ret = (BN_set_word((rr),1));
Executed by:
  • bntest
4
567 return
executed 9 times by 2 tests: return ret;
Executed by:
  • bntest
  • exptest
ret;
executed 9 times by 2 tests: return ret;
Executed by:
  • bntest
  • exptest
9
568 }-
569-
570 BN_CTX_start(ctx);-
571-
572-
573-
574-
575 if (in_mont !=
in_mont != ((void *)0)Description
TRUEevaluated 3658 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
681-3658
576 ((void *)0)
in_mont != ((void *)0)Description
TRUEevaluated 3658 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
681-3658
577 )-
578 mont = in_mont;
executed 3658 times by 11 tests: mont = in_mont;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
3658
579 else {-
580 if ((
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
mont = BN_MONT_CTX_new()) ==
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-681
581 ((void *)0)
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-681
582 )-
583 goto
never executed: goto err;
err;
never executed: goto err;
0
584 if (!BN_MONT_CTX_set(mont, m, ctx)
!BN_MONT_CTX_set(mont, m, ctx)Description
TRUEnever evaluated
FALSEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-681
585 goto
never executed: goto err;
err;
never executed: goto err;
0
586 }
executed 681 times by 9 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
681
587-
588-
589 window = ((
(bits) > 937Description
TRUEevaluated 243 times by 7 tests
Evaluated by:
  • bntest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 4096 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
bits) > 937
(bits) > 937Description
TRUEevaluated 243 times by 7 tests
Evaluated by:
  • bntest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 4096 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
? 6 : (
(bits) > 306Description
TRUEevaluated 981 times by 7 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
FALSEevaluated 3115 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
bits) > 306
(bits) > 306Description
TRUEevaluated 981 times by 7 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
FALSEevaluated 3115 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
? 5 : (
(bits) > 89Description
TRUEevaluated 1202 times by 8 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • ssltest
FALSEevaluated 1913 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
bits) > 89
(bits) > 89Description
TRUEevaluated 1202 times by 8 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • ssltest
FALSEevaluated 1913 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
? 4 : (
(bits) > 22Description
TRUEevaluated 1094 times by 3 tests
Evaluated by:
  • bntest
  • dhtest
  • mont
FALSEevaluated 819 times by 8 tests
Evaluated by:
  • bntest
  • ectest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
bits) > 22
(bits) > 22Description
TRUEevaluated 1094 times by 3 tests
Evaluated by:
  • bntest
  • dhtest
  • mont
FALSEevaluated 819 times by 8 tests
Evaluated by:
  • bntest
  • ectest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
? 3 : 1);
243-4096
590-
591 if (window == 6
window == 6Description
TRUEevaluated 243 times by 7 tests
Evaluated by:
  • bntest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 4096 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
&& bits <= 1024
bits <= 1024Description
TRUEevaluated 233 times by 7 tests
Evaluated by:
  • bntest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • mont
  • servertest
)
10-4096
592 window = 5;
executed 233 times by 7 tests: window = 5;
Executed by:
  • bntest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
233
593-
594-
595-
596-
597-
598 numPowers = 1 << window;-
599 powerbufLen = sizeof(m->d[0]) * (top * numPowers +-
600 ((2*top) > numPowers ? (2*top) : numPowers));-
601 if ((
(powerbufFree ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
powerbufFree = calloc(powerbufLen +
(powerbufFree ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4339
602 ( 64 ), 1)) ==
(powerbufFree ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4339
603 ((void *)0)
(powerbufFree ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4339
604 )-
605 goto
never executed: goto err;
err;
never executed: goto err;
0
606 powerbuf = ((unsigned char*)(powerbufFree) + (( 64 ) - (((size_t)(powerbufFree)) & ((( 64 ) - 1)))));-
607-
608-
609 tmp.d = (unsigned long *)(powerbuf + sizeof(m->d[0]) * top * numPowers);-
610 am.d = tmp.d + top;-
611 tmp.top = am.top = 0;-
612 tmp.dmax = am.dmax = top;-
613 tmp.neg = am.neg = 0;-
614 tmp.flags = am.flags = 0x02;-
615-
616-
617-
618 if (!BN_mod_mul_montgomery( (&tmp),(BN_value_one()),&((mont)->RR),(mont),(ctx))
!BN_mod_mul_mo...,(mont),(ctx))Description
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4339
619 goto
never executed: goto err;
err;
never executed: goto err;
0
620 if (a->neg
a->negDescription
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
|| BN_ucmp(a, m) >= 0
BN_ucmp(a, m) >= 0Description
TRUEevaluated 253 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4086 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
0-4339
621 if (!BN_div_ct(
!BN_div_ct( ((...(a),(m),(ctx))Description
TRUEnever evaluated
FALSEevaluated 253 times by 1 test
Evaluated by:
  • bntest
0-253
622 ((void *)0)
!BN_div_ct( ((...(a),(m),(ctx))Description
TRUEnever evaluated
FALSEevaluated 253 times by 1 test
Evaluated by:
  • bntest
0-253
623 ,(&am),(a),(m),(ctx))
!BN_div_ct( ((...(a),(m),(ctx))Description
TRUEnever evaluated
FALSEevaluated 253 times by 1 test
Evaluated by:
  • bntest
)
0-253
624 goto
never executed: goto err;
err;
never executed: goto err;
0
625 if (!BN_mod_mul_montgomery( (&am),(&am),&((mont)->RR),(mont),(ctx))
!BN_mod_mul_mo...,(mont),(ctx))Description
TRUEnever evaluated
FALSEevaluated 253 times by 1 test
Evaluated by:
  • bntest
)
0-253
626 goto
never executed: goto err;
err;
never executed: goto err;
0
627 }
executed 253 times by 1 test: end of block
Executed by:
  • bntest
else if (!BN_mod_mul_montgomery( (&am),(a),&((mont)->RR),(mont),(ctx))
!BN_mod_mul_mo...,(mont),(ctx))Description
TRUEnever evaluated
FALSEevaluated 4086 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4086
628 goto
never executed: goto err;
err;
never executed: goto err;
0
629 if (window == 5
window == 5Description
TRUEevaluated 1214 times by 11 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3125 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
&& top > 1
top > 1Description
TRUEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • mont
) {
202-3125
630 void bn_mul_mont_gather5(unsigned long *rp, const unsigned long *ap,-
631 const void *table, const unsigned long *np,-
632 const unsigned long *n0, int num, int power);-
633 void bn_scatter5(const unsigned long *inp, size_t num,-
634 void *table, size_t power);-
635 void bn_gather5(unsigned long *out, size_t num,-
636 void *table, size_t power);-
637-
638 unsigned long *np = mont->N.d, *n0 = mont->n0;-
639-
640-
641-
642 for (i = am.top; i < top
i < topDescription
TRUEevaluated 47 times by 2 tests
Evaluated by:
  • bntest
  • rsa_test
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i++)
47-1012
643 am.d[i] = 0;
executed 47 times by 2 tests: am.d[i] = 0;
Executed by:
  • bntest
  • rsa_test
47
644 for (i = tmp.top; i < top
i < topDescription
TRUEevaluated 83 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i++)
83-1012
645 tmp.d[i] = 0;
executed 83 times by 1 test: tmp.d[i] = 0;
Executed by:
  • ectest
83
646-
647 bn_scatter5(tmp.d, top, powerbuf, 0);-
648 bn_scatter5(am.d, am.top, powerbuf, 1);-
649 bn_mul_mont(tmp.d, am.d, am.d, np, n0, top);-
650 bn_scatter5(tmp.d, top, powerbuf, 2);-
651 for (i = 4; i < 32
i < 32Description
TRUEevaluated 3036 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i*=2) {
1012-3036
652 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
653 bn_scatter5(tmp.d, top, powerbuf, i);-
654 }
executed 3036 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
3036
655 for (i = 3; i < 8
i < 8Description
TRUEevaluated 3036 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i += 2) {
1012-3036
656 int j;-
657 bn_mul_mont_gather5(tmp.d, am.d, powerbuf, np,-
658 n0, top, i - 1);-
659 bn_scatter5(tmp.d, top, powerbuf, i);-
660 for (j = 2 * i; j < 32
j < 32Description
TRUEevaluated 7084 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3036 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; j *= 2) {
3036-7084
661 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
662 bn_scatter5(tmp.d, top, powerbuf, j);-
663 }
executed 7084 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
7084
664 }
executed 3036 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
3036
665 for (; i < 16
i < 16Description
TRUEevaluated 4048 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i += 2) {
1012-4048
666 bn_mul_mont_gather5(tmp.d, am.d, powerbuf, np,-
667 n0, top, i - 1);-
668 bn_scatter5(tmp.d, top, powerbuf, i);-
669 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
670 bn_scatter5(tmp.d, top, powerbuf, 2*i);-
671 }
executed 4048 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4048
672 for (; i < 32
i < 32Description
TRUEevaluated 8096 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i += 2) {
1012-8096
673 bn_mul_mont_gather5(tmp.d, am.d, powerbuf, np,-
674 n0, top, i - 1);-
675 bn_scatter5(tmp.d, top, powerbuf, i);-
676 }
executed 8096 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
8096
677-
678 bits--;-
679 for (wvalue = 0, i = bits % 5; i >= 0
i >= 0Description
TRUEevaluated 1902 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i--, bits--)
1012-1902
680 wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);
executed 1902 times by 10 tests: wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
1902
681 bn_gather5(tmp.d, top, powerbuf, wvalue);-
682-
683-
684-
685-
686 while (bits >= 0
bits >= 0Description
TRUEevaluated 121377 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
1012-121377
687 for (wvalue = 0, i = 0; i < 5
i < 5Description
TRUEevaluated 606885 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 121377 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i++, bits--)
121377-606885
688 wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);
executed 606885 times by 10 tests: wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
606885
689-
690 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
691 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
692 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
693 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
694 bn_mul_mont(tmp.d, tmp.d, tmp.d, np, n0, top);-
695 bn_mul_mont_gather5(tmp.d, tmp.d, powerbuf, np, n0, top, wvalue);-
696 }
executed 121377 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
121377
697-
698 tmp.top = top;-
699 { unsigned long *ftl; int tmp_top = (&tmp)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 1012 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) { for (ftl= &((&tmp)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 1082 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • bntest
  • rsa_test
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 1009 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 73 times by 3 tests
Evaluated by:
  • bntest
  • ectest
  • rsa_test
ftl--)
*(ftl--)Description
TRUEevaluated 1009 times by 10 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 73 times by 3 tests
Evaluated by:
  • bntest
  • ectest
  • rsa_test
) break;
executed 1009 times by 10 tests: break;
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
(&tmp)->top = tmp_top; }
executed 1012 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; };
0-1082
700 }
executed 1012 times by 10 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
else
1012
701-
702 {-
703 if (!MOD_EXP_CTIME_COPY_TO_PREBUF(&tmp, top, powerbuf, 0,
!MOD_EXP_CTIME...uf, 0, window)Description
TRUEnever evaluated
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-3327
704 window)
!MOD_EXP_CTIME...uf, 0, window)Description
TRUEnever evaluated
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-3327
705 goto
never executed: goto err;
err;
never executed: goto err;
0
706 if (!MOD_EXP_CTIME_COPY_TO_PREBUF(&am, top, powerbuf, 1,
!MOD_EXP_CTIME...uf, 1, window)Description
TRUEnever evaluated
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-3327
707 window)
!MOD_EXP_CTIME...uf, 1, window)Description
TRUEnever evaluated
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-3327
708 goto
never executed: goto err;
err;
never executed: goto err;
0
709-
710-
711-
712-
713-
714-
715 if (window > 1
window > 1Description
TRUEevaluated 2508 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
FALSEevaluated 819 times by 8 tests
Evaluated by:
  • bntest
  • ectest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
819-2508
716 if (!BN_mod_mul_montgomery(&tmp, &am, &am, mont, ctx)
!BN_mod_mul_mo...am, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 2508 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
)
0-2508
717 goto
never executed: goto err;
err;
never executed: goto err;
0
718 if (!MOD_EXP_CTIME_COPY_TO_PREBUF(&tmp, top, powerbuf,
!MOD_EXP_CTIME...uf, 2, window)Description
TRUEnever evaluated
FALSEevaluated 2508 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
0-2508
719 2, window)
!MOD_EXP_CTIME...uf, 2, window)Description
TRUEnever evaluated
FALSEevaluated 2508 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
)
0-2508
720 goto
never executed: goto err;
err;
never executed: goto err;
0
721 for (i = 3; i < numPowers
i < numPowersDescription
TRUEevaluated 27564 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
FALSEevaluated 2508 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
; i++) {
2508-27564
722-
723 if (!BN_mod_mul_montgomery(&tmp, &am, &tmp,
!BN_mod_mul_mo...mp, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 27564 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
0-27564
724 mont, ctx)
!BN_mod_mul_mo...mp, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 27564 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
)
0-27564
725 goto
never executed: goto err;
err;
never executed: goto err;
0
726 if (!MOD_EXP_CTIME_COPY_TO_PREBUF(&tmp, top,
!MOD_EXP_CTIME...uf, i, window)Description
TRUEnever evaluated
FALSEevaluated 27564 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
0-27564
727 powerbuf, i, window)
!MOD_EXP_CTIME...uf, i, window)Description
TRUEnever evaluated
FALSEevaluated 27564 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
)
0-27564
728 goto
never executed: goto err;
err;
never executed: goto err;
0
729 }
executed 27564 times by 10 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
27564
730 }
executed 2508 times by 10 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • rsa_test
  • servertest
  • ssltest
2508
731-
732 bits--;-
733 for (wvalue = 0, i = bits % window; i >= 0
i >= 0Description
TRUEevaluated 7001 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i--, bits--)
3327-7001
734 wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);
executed 7001 times by 12 tests: wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
7001
735 if (!MOD_EXP_CTIME_COPY_FROM_PREBUF(&tmp, top, powerbuf,
!MOD_EXP_CTIME...value, window)Description
TRUEnever evaluated
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-3327
736 wvalue, window)
!MOD_EXP_CTIME...value, window)Description
TRUEnever evaluated
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-3327
737 goto
never executed: goto err;
err;
never executed: goto err;
0
738-
739-
740-
741-
742 while (bits >= 0
bits >= 0Description
TRUEevaluated 114973 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3327 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
3327-114973
743 wvalue = 0;-
744-
745-
746 for (i = 0; i < window
i < windowDescription
TRUEevaluated 461461 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 114973 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
; i++, bits--) {
114973-461461
747 if (!BN_mod_mul_montgomery(&tmp, &tmp, &tmp,
!BN_mod_mul_mo...mp, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 461461 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-461461
748 mont, ctx)
!BN_mod_mul_mo...mp, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 461461 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-461461
749 goto
never executed: goto err;
err;
never executed: goto err;
0
750 wvalue = (wvalue << 1) + BN_is_bit_set(p, bits);-
751 }
executed 461461 times by 12 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
461461
752-
753-
754 if (!MOD_EXP_CTIME_COPY_FROM_PREBUF(&am, top, powerbuf,
!MOD_EXP_CTIME...value, window)Description
TRUEnever evaluated
FALSEevaluated 114973 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-114973
755 wvalue, window)
!MOD_EXP_CTIME...value, window)Description
TRUEnever evaluated
FALSEevaluated 114973 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-114973
756 goto
never executed: goto err;
err;
never executed: goto err;
0
757-
758-
759 if (!BN_mod_mul_montgomery(&tmp, &tmp, &am, mont, ctx)
!BN_mod_mul_mo...am, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 114973 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-114973
760 goto
never executed: goto err;
err;
never executed: goto err;
0
761 }
executed 114973 times by 12 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
114973
762 }
executed 3327 times by 12 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
3327
763-
764-
765 if (!BN_from_montgomery(rr, &tmp, mont, ctx)
!BN_from_montg...mp, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 4339 times by 12 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4339
766 goto
never executed: goto err;
err;
never executed: goto err;
0
767 ret = 1;-
768-
769err:
code before this statement executed 4339 times by 12 tests: err:
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4339
770 if ((
(in_mont == ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3658 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
in_mont ==
(in_mont == ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3658 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
681-3658
771 ((void *)0)
(in_mont == ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3658 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
681-3658
772 )
(in_mont == ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3658 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
&& (
(mont != ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
mont !=
(mont != ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-3658
773 ((void *)0)
(mont != ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-681
774 )
(mont != ((void *)0) )Description
TRUEevaluated 681 times by 9 tests
Evaluated by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-681
775 BN_MONT_CTX_free(mont);
executed 681 times by 9 tests: BN_MONT_CTX_free(mont);
Executed by:
  • bntest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
681
776 freezero(powerbufFree, powerbufLen + ( 64 ));-
777 BN_CTX_end(ctx);-
778 return
executed 4339 times by 12 tests: return (ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 4339 times by 12 tests: return (ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4339
779}-
780-
781int-
782BN_mod_exp_mont_word(BIGNUM *rr, unsigned long a, const BIGNUM *p, const BIGNUM *m,-
783 BN_CTX *ctx, BN_MONT_CTX *in_mont)-
784{-
785 BN_MONT_CTX *mont = -
786 ((void *)0)-
787 ;-
788 int b, bits, ret = 0;-
789 int r_is_one;-
790 unsigned long w, next_w;-
791 BIGNUM *d, *r, *t;-
792 BIGNUM *swap_tmp;-
793 if (((
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
p)->flags&(0x04)) != 0
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
0-16
794-
795 ERR_put_error(3,(0xfff),((2|64)),__FILE__,935);-
796 return
never executed: return -1;
-1;
never executed: return -1;
0
797 }-
798-
799 ;-
800 ;-
801-
802 if (!(((
((m)->top > 0)Description
TRUEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
m)->top > 0)
((m)->top > 0)Description
TRUEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
&& ((
((m)->d[0] & 1)Description
TRUEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
m)->d[0] & 1)
((m)->d[0] & 1)Description
TRUEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
)) {
0-16
803 ERR_put_error(3,(0xfff),(102),__FILE__,943);-
804 return
never executed: return (0);
(0);
never executed: return (0);
0
805 }-
806 if (m->top == 1
m->top == 1Description
TRUEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
)
0-16
807 a %= m->d[0];
executed 16 times by 2 tests: a %= m->d[0];
Executed by:
  • bntest
  • exptest
16
808-
809 bits = BN_num_bits(p);-
810 if (bits == 0
bits == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
) {
1-15
811-
812 if (((((((
(((m))->top == 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->top == 1)
(((m))->top == 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
&& (((
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->d[0] == (unsigned long)(1))
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
m))->top == 0)
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(m)->neg
!(m)->negDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)) {
0-1
813 ret = 1;-
814 (BN_set_word((rr),0));-
815 }
executed 1 time by 1 test: end of block
Executed by:
  • exptest
else
1
816 ret = (BN_set_word((rr),1));
never executed: ret = (BN_set_word((rr),1));
0
817 return
executed 1 time by 1 test: return ret;
Executed by:
  • exptest
ret;
executed 1 time by 1 test: return ret;
Executed by:
  • exptest
1
818 }-
819 if (a == 0
a == 0Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
) {
0-15
820 (BN_set_word((rr),0));-
821 ret = 1;-
822 return
never executed: return ret;
ret;
never executed: return ret;
0
823 }-
824-
825 BN_CTX_start(ctx);-
826 if ((
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
d = BN_CTX_get(ctx)) ==
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
827 ((void *)0)
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
828 )-
829 goto
never executed: goto err;
err;
never executed: goto err;
0
830 if ((
(r = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
r = BN_CTX_get(ctx)) ==
(r = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
831 ((void *)0)
(r = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
832 )-
833 goto
never executed: goto err;
err;
never executed: goto err;
0
834 if ((
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
t = BN_CTX_get(ctx)) ==
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
835 ((void *)0)
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
836 )-
837 goto
never executed: goto err;
err;
never executed: goto err;
0
838-
839 if (in_mont !=
in_mont != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
840 ((void *)0)
in_mont != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
841 )-
842 mont = in_mont;
never executed: mont = in_mont;
0
843 else {-
844 if ((
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
mont = BN_MONT_CTX_new()) ==
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
845 ((void *)0)
(mont = BN_MON...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
0-15
846 )-
847 goto
never executed: goto err;
err;
never executed: goto err;
0
848 if (!BN_MONT_CTX_set(mont, m, ctx)
!BN_MONT_CTX_set(mont, m, ctx)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
)
0-15
849 goto
never executed: goto err;
err;
never executed: goto err;
0
850 }
executed 15 times by 1 test: end of block
Executed by:
  • bntest
15
851-
852 r_is_one = 1;-
853-
854-
855-
856-
857 w = a;-
858 for (b = bits - 2; b >= 0
b >= 0Description
TRUEevaluated 259 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
; b--) {
15-259
859-
860 next_w = w * w;-
861 if ((
(next_w / w) != wDescription
TRUEevaluated 69 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 190 times by 1 test
Evaluated by:
  • bntest
next_w / w) != w
(next_w / w) != wDescription
TRUEevaluated 69 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 190 times by 1 test
Evaluated by:
  • bntest
)
69-190
862 {-
863 if (r_is_one
r_is_oneDescription
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 64 times by 1 test
Evaluated by:
  • bntest
) {
5-64
864 if (!(BN_set_word(r, (w))
BN_set_word(r, (w))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& BN_mod_mul_montgomery( (r),(r),&(((mont))->RR),((mont)),(ctx))
BN_mod_mul_mon...(mont)),(ctx))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
))
0-5
865 goto
never executed: goto err;
err;
never executed: goto err;
0
866 r_is_one = 0;-
867 }
executed 5 times by 1 test: end of block
Executed by:
  • bntest
else {
5
868 if (!(BN_mul_word(r, (w))
BN_mul_word(r, (w))Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& ( (BN_div_ct(
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-64
869 ((void *)0)
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-64
870 ,(t),(r),(m),(ctx))
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& (swap_tmp = r, r = t, t = swap_tmp, 1)))))
0-64
871 goto
never executed: goto err;
err;
never executed: goto err;
0
872 }
executed 64 times by 1 test: end of block
Executed by:
  • bntest
64
873 next_w = 1;-
874 }
executed 69 times by 1 test: end of block
Executed by:
  • bntest
69
875 w = next_w;-
876 if (!r_is_one
!r_is_oneDescription
TRUEevaluated 243 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 16 times by 1 test
Evaluated by:
  • bntest
) {
16-243
877 if (!BN_mod_mul_montgomery(r, r, r, mont, ctx)
!BN_mod_mul_mo... r, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 243 times by 1 test
Evaluated by:
  • bntest
)
0-243
878 goto
never executed: goto err;
err;
never executed: goto err;
0
879 }
executed 243 times by 1 test: end of block
Executed by:
  • bntest
243
880-
881-
882 if (BN_is_bit_set(p, b)
BN_is_bit_set(p, b)Description
TRUEevaluated 130 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 129 times by 1 test
Evaluated by:
  • bntest
) {
129-130
883 next_w = w * a;-
884 if ((
(next_w / a) != wDescription
TRUEevaluated 61 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 69 times by 1 test
Evaluated by:
  • bntest
next_w / a) != w
(next_w / a) != wDescription
TRUEevaluated 61 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 69 times by 1 test
Evaluated by:
  • bntest
)
61-69
885 {-
886 if (r_is_one
r_is_oneDescription
TRUEevaluated 8 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 53 times by 1 test
Evaluated by:
  • bntest
) {
8-53
887 if (!(BN_set_word(r, (w))
BN_set_word(r, (w))Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& BN_mod_mul_montgomery( (r),(r),&(((mont))->RR),((mont)),(ctx))
BN_mod_mul_mon...(mont)),(ctx))Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
))
0-8
888 goto
never executed: goto err;
err;
never executed: goto err;
0
889 r_is_one = 0;-
890 }
executed 8 times by 1 test: end of block
Executed by:
  • bntest
else {
8
891 if (!(BN_mul_word(r, (w))
BN_mul_word(r, (w))Description
TRUEevaluated 53 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& ( (BN_div_ct(
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 53 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-53
892 ((void *)0)
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 53 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-53
893 ,(t),(r),(m),(ctx))
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 53 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& (swap_tmp = r, r = t, t = swap_tmp, 1)))))
0-53
894 goto
never executed: goto err;
err;
never executed: goto err;
0
895 }
executed 53 times by 1 test: end of block
Executed by:
  • bntest
53
896 next_w = a;-
897 }
executed 61 times by 1 test: end of block
Executed by:
  • bntest
61
898 w = next_w;-
899 }
executed 130 times by 1 test: end of block
Executed by:
  • bntest
130
900 }
executed 259 times by 1 test: end of block
Executed by:
  • bntest
259
901-
902-
903 if (w != 1
w != 1Description
TRUEevaluated 13 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • bntest
) {
2-13
904 if (r_is_one
r_is_oneDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 11 times by 1 test
Evaluated by:
  • bntest
) {
2-11
905 if (!(BN_set_word(r, (w))
BN_set_word(r, (w))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& BN_mod_mul_montgomery( (r),(r),&(((mont))->RR),((mont)),(ctx))
BN_mod_mul_mon...(mont)),(ctx))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
))
0-2
906 goto
never executed: goto err;
err;
never executed: goto err;
0
907 r_is_one = 0;-
908 }
executed 2 times by 1 test: end of block
Executed by:
  • bntest
else {
2
909 if (!(BN_mul_word(r, (w))
BN_mul_word(r, (w))Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& ( (BN_div_ct(
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-11
910 ((void *)0)
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-11
911 ,(t),(r),(m),(ctx))
BN_div_ct( ((v...(r),(m),(ctx))Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& (swap_tmp = r, r = t, t = swap_tmp, 1)))))
0-11
912 goto
never executed: goto err;
err;
never executed: goto err;
0
913 }
executed 11 times by 1 test: end of block
Executed by:
  • bntest
11
914 }-
915-
916 if (r_is_one
r_is_oneDescription
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
)
0-15
917 {-
918 if (!(BN_set_word((rr),1))
!(BN_set_word((rr),1))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
919 goto
never executed: goto err;
err;
never executed: goto err;
0
920 }
never executed: end of block
else {
0
921 if (!BN_from_montgomery(rr, r, mont, ctx)
!BN_from_montg... r, mont, ctx)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • bntest
)
0-15
922 goto
never executed: goto err;
err;
never executed: goto err;
0
923 }
executed 15 times by 1 test: end of block
Executed by:
  • bntest
15
924 ret = 1;-
925-
926err:
code before this statement executed 15 times by 1 test: err:
Executed by:
  • bntest
15
927 if ((
(in_mont == ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
in_mont ==
(in_mont == ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-15
928 ((void *)0)
(in_mont == ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-15
929 )
(in_mont == ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& (
(mont != ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
mont !=
(mont != ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-15
930 ((void *)0)
(mont != ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
0-15
931 )
(mont != ((void *)0) )Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
)
0-15
932 BN_MONT_CTX_free(mont);
executed 15 times by 1 test: BN_MONT_CTX_free(mont);
Executed by:
  • bntest
15
933 BN_CTX_end(ctx);-
934 ;-
935 return
executed 15 times by 1 test: return (ret);
Executed by:
  • bntest
(ret);
executed 15 times by 1 test: return (ret);
Executed by:
  • bntest
15
936}-
937-
938-
939-
940int-
941BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,-
942 BN_CTX *ctx)-
943{-
944 int i, j, bits, ret = 0, wstart, wend, window, wvalue;-
945 int start = 1;-
946 BIGNUM *d;-
947-
948 BIGNUM *val[32];-
949-
950 if (((
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 203 times by 2 tests
Evaluated by:
  • bntest
  • exptest
p)->flags&(0x04)) != 0
((p)->flags&(0x04)) != 0Description
TRUEnever evaluated
FALSEevaluated 203 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
0-203
951-
952 ERR_put_error(3,(0xfff),((2|64)),__FILE__,1072);-
953 return
never executed: return -1;
-1;
never executed: return -1;
0
954 }-
955-
956 bits = BN_num_bits(p);-
957 if (bits == 0
bits == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
1-202
958-
959 if (((((((
(((m))->top == 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->top == 1)
(((m))->top == 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
&& (((
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
m))->d[0] == (unsigned long)(1))
(((m))->d[0] =...gned long)(1))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
m))->top == 0)
(((m))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(m)->neg
!(m)->negDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
)) {
0-1
960 ret = 1;-
961 (BN_set_word((r),0));-
962 }
executed 1 time by 1 test: end of block
Executed by:
  • exptest
else
1
963 ret = (BN_set_word((r),1));
never executed: ret = (BN_set_word((r),1));
0
964 return
executed 1 time by 1 test: return ret;
Executed by:
  • exptest
ret;
executed 1 time by 1 test: return ret;
Executed by:
  • exptest
1
965 }-
966-
967 BN_CTX_start(ctx);-
968 if ((
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
d = BN_CTX_get(ctx)) ==
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-202
969 ((void *)0)
(d = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-202
970 )-
971 goto
never executed: goto err;
err;
never executed: goto err;
0
972 if ((
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
val[0] = BN_CTX_get(ctx)) ==
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-202
973 ((void *)0)
(val[0] = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-202
974 )-
975 goto
never executed: goto err;
err;
never executed: goto err;
0
976-
977 if (!BN_nnmod(val[0],a,m,ctx)
!BN_nnmod(val[0],a,m,ctx)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-202
978 goto
never executed: goto err;
err;
never executed: goto err;
0
979 if (((
((val[0])->top == 0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
val[0])->top == 0)
((val[0])->top == 0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
0-202
980 (BN_set_word((r),0));-
981 ret = 1;-
982 goto
never executed: goto err;
err;
never executed: goto err;
0
983 }-
984-
985 window = ((
(bits) > 671Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 200 times by 1 test
Evaluated by:
  • exptest
bits) > 671
(bits) > 671Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 200 times by 1 test
Evaluated by:
  • exptest
? 6 : (
(bits) > 239Description
TRUEevaluated 200 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
bits) > 239
(bits) > 239Description
TRUEevaluated 200 times by 1 test
Evaluated by:
  • exptest
FALSEnever evaluated
? 5 : (
(bits) > 79Description
TRUEnever evaluated
FALSEnever evaluated
bits) > 79
(bits) > 79Description
TRUEnever evaluated
FALSEnever evaluated
? 4 : (
(bits) > 23Description
TRUEnever evaluated
FALSEnever evaluated
bits) > 23
(bits) > 23Description
TRUEnever evaluated
FALSEnever evaluated
? 3 : 1);
0-200
986 if (window > 1
window > 1Description
TRUEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
) {
0-202
987 if (!BN_mod_mul(d, val[0], val[0], m, ctx)
!BN_mod_mul(d,...al[0], m, ctx)Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-202
988 goto
never executed: goto err;
err;
never executed: goto err;
0
989 j = 1 << (window - 1);-
990 for (i = 1; i < j
i < jDescription
TRUEevaluated 3062 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
; i++) {
202-3062
991 if (((
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3062 times by 2 tests
Evaluated by:
  • bntest
  • exptest
val[i] = BN_CTX_get(ctx)) ==
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3062 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-3062
992 ((void *)0)
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3062 times by 2 tests
Evaluated by:
  • bntest
  • exptest
0-3062
993 )
((val[i] = BN_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3062 times by 2 tests
Evaluated by:
  • bntest
  • exptest
||
0-3062
994 !BN_mod_mul(val[i], val[i - 1], d,m, ctx)
!BN_mod_mul(va... 1], d,m, ctx)Description
TRUEnever evaluated
FALSEevaluated 3062 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-3062
995 goto
never executed: goto err;
err;
never executed: goto err;
0
996 }
executed 3062 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
3062
997 }
executed 202 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
202
998-
999 start = 1;-
1000-
1001-
1002 wvalue = 0;-
1003 wstart = bits - 1;-
1004 wend = 0;-
1005-
1006 if (!(BN_set_word((r),1))
!(BN_set_word((r),1))Description
TRUEnever evaluated
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-202
1007 goto
never executed: goto err;
err;
never executed: goto err;
0
1008-
1009 for (;;) {-
1010 if (BN_is_bit_set(p, wstart) == 0
BN_is_bit_set(p, wstart) == 0Description
TRUEevaluated 21572 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 11048 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
11048-21572
1011 if (!start
!startDescription
TRUEevaluated 21572 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEnever evaluated
)
0-21572
1012 if (!BN_mod_mul(r, r, r, m, ctx)
!BN_mod_mul(r, r, r, m, ctx)Description
TRUEnever evaluated
FALSEevaluated 21572 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-21572
1013 goto
never executed: goto err;
err;
never executed: goto err;
0
1014 if (wstart == 0
wstart == 0Description
TRUEevaluated 110 times by 1 test
Evaluated by:
  • exptest
FALSEevaluated 21462 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
110-21462
1015 break;
executed 110 times by 1 test: break;
Executed by:
  • exptest
110
1016 wstart--;-
1017 continue;
executed 21462 times by 2 tests: continue;
Executed by:
  • bntest
  • exptest
21462
1018 }-
1019-
1020-
1021-
1022-
1023 j = wstart;-
1024 wvalue = 1;-
1025 wend = 0;-
1026 for (i = 1; i < window
i < windowDescription
TRUEevaluated 44208 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 10910 times by 2 tests
Evaluated by:
  • bntest
  • exptest
; i++) {
10910-44208
1027 if (wstart - i < 0
wstart - i < 0Description
TRUEevaluated 138 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 44070 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
138-44070
1028 break;
executed 138 times by 2 tests: break;
Executed by:
  • bntest
  • exptest
138
1029 if (BN_is_bit_set(p, wstart - i)
BN_is_bit_set(p, wstart - i)Description
TRUEevaluated 22304 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 21766 times by 2 tests
Evaluated by:
  • bntest
  • exptest
) {
21766-22304
1030 wvalue <<= (i - wend);-
1031 wvalue |= 1;-
1032 wend = i;-
1033 }
executed 22304 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
22304
1034 }
executed 44070 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
44070
1035-
1036-
1037 j = wend + 1;-
1038-
1039 if (!start
!startDescription
TRUEevaluated 10846 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 202 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
202-10846
1040 for (i = 0; i < j
i < jDescription
TRUEevaluated 44048 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 10846 times by 2 tests
Evaluated by:
  • bntest
  • exptest
; i++) {
10846-44048
1041 if (!BN_mod_mul(r, r, r, m, ctx)
!BN_mod_mul(r, r, r, m, ctx)Description
TRUEnever evaluated
FALSEevaluated 44048 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-44048
1042 goto
never executed: goto err;
err;
never executed: goto err;
0
1043 }
executed 44048 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
44048
1044-
1045-
1046 if (!BN_mod_mul(r, r, val[wvalue >> 1], m, ctx)
!BN_mod_mul(r,...>> 1], m, ctx)Description
TRUEnever evaluated
FALSEevaluated 11048 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
0-11048
1047 goto
never executed: goto err;
err;
never executed: goto err;
0
1048-
1049-
1050 wstart -= wend + 1;-
1051 wvalue = 0;-
1052 start = 0;-
1053 if (wstart < 0
wstart < 0Description
TRUEevaluated 92 times by 2 tests
Evaluated by:
  • bntest
  • exptest
FALSEevaluated 10956 times by 2 tests
Evaluated by:
  • bntest
  • exptest
)
92-10956
1054 break;
executed 92 times by 2 tests: break;
Executed by:
  • bntest
  • exptest
92
1055 }
executed 10956 times by 2 tests: end of block
Executed by:
  • bntest
  • exptest
10956
1056 ret = 1;-
1057-
1058err:
code before this statement executed 202 times by 2 tests: err:
Executed by:
  • bntest
  • exptest
202
1059 BN_CTX_end(ctx);-
1060 ;-
1061 return
executed 202 times by 2 tests: return (ret);
Executed by:
  • bntest
  • exptest
(ret);
executed 202 times by 2 tests: return (ret);
Executed by:
  • bntest
  • exptest
202
1062}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2