OpenCoverage

bn_gcd.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_gcd.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static BIGNUM *euclid(BIGNUM *a, BIGNUM *b);-
4static BIGNUM *BN_gcd_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n,-
5 BN_CTX *ctx);-
6-
7int-
8BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx)-
9{-
10 BIGNUM *a, *b, *t;-
11 int ret = 0;-
12-
13 ;-
14 ;-
15-
16 BN_CTX_start(ctx);-
17 if ((
(a = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
a = BN_CTX_get(ctx)) ==
(a = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
18 ((void *)0)
(a = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
19 )-
20 goto
never executed: goto err;
err;
never executed: goto err;
0
21 if ((
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
b = BN_CTX_get(ctx)) ==
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
22 ((void *)0)
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
23 )-
24 goto
never executed: goto err;
err;
never executed: goto err;
0
25-
26 if (BN_copy(a, in_a) ==
BN_copy(a, in_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
27 ((void *)0)
BN_copy(a, in_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
28 )-
29 goto
never executed: goto err;
err;
never executed: goto err;
0
30 if (BN_copy(b, in_b) ==
BN_copy(b, in_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
31 ((void *)0)
BN_copy(b, in_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
32 )-
33 goto
never executed: goto err;
err;
never executed: goto err;
0
34 a->neg = 0;-
35 b->neg = 0;-
36-
37 if (BN_cmp(a, b) < 0
BN_cmp(a, b) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
38 t = a;-
39 a = b;-
40 b = t;-
41 }
never executed: end of block
0
42 t = euclid(a, b);-
43 if (t ==
t == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
44 ((void *)0)
t == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
45 )-
46 goto
never executed: goto err;
err;
never executed: goto err;
0
47-
48 if (BN_copy(r, t) ==
BN_copy(r, t) == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
49 ((void *)0)
BN_copy(r, t) == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
50 )-
51 goto
never executed: goto err;
err;
never executed: goto err;
0
52 ret = 1;-
53-
54err:
code before this statement never executed: err:
0
55 BN_CTX_end(ctx);-
56 ;-
57 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
58}-
59-
60int-
61BN_gcd_ct(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx)-
62{-
63 if (BN_gcd_no_branch(r, in_a, in_b, ctx) ==
BN_gcd_no_bran...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
64 ((void *)0)
BN_gcd_no_bran...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
65 )-
66 return
never executed: return 0;
0;
never executed: return 0;
0
67 return
executed 2 times by 1 test: return 1;
Executed by:
  • libcrypto.so.44.0.1
1;
executed 2 times by 1 test: return 1;
Executed by:
  • libcrypto.so.44.0.1
2
68}-
69-
70int-
71BN_gcd_nonct(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx)-
72{-
73 return
never executed: return BN_gcd(r, in_a, in_b, ctx);
BN_gcd(r, in_a, in_b, ctx);
never executed: return BN_gcd(r, in_a, in_b, ctx);
0
74}-
75-
76-
77static BIGNUM *-
78euclid(BIGNUM *a, BIGNUM *b)-
79{-
80 BIGNUM *t;-
81 int shifts = 0;-
82-
83 ;-
84 ;-
85-
86-
87 while (!((b)->top == 0)
!((b)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
88-
89-
90 if ((((
((a)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
a)->top > 0)
((a)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((a)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
a)->d[0] & 1)
((a)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
91 if ((((
((b)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
b)->top > 0)
((b)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((b)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
b)->d[0] & 1)
((b)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
92 if (!BN_sub(a, a, b)
!BN_sub(a, a, b)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
93 goto
never executed: goto err;
err;
never executed: goto err;
0
94 if (!BN_rshift1(a, a)
!BN_rshift1(a, a)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
95 goto
never executed: goto err;
err;
never executed: goto err;
0
96 if (BN_cmp(a, b) < 0
BN_cmp(a, b) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
97 t = a;-
98 a = b;-
99 b = t;-
100 }
never executed: end of block
0
101 }
never executed: end of block
0
102 else-
103 {-
104 if (!BN_rshift1(b, b)
!BN_rshift1(b, b)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
105 goto
never executed: goto err;
err;
never executed: goto err;
0
106 if (BN_cmp(a, b) < 0
BN_cmp(a, b) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
107 t = a;-
108 a = b;-
109 b = t;-
110 }
never executed: end of block
0
111 }
never executed: end of block
0
112 }-
113 else-
114 {-
115 if ((((
((b)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
b)->top > 0)
((b)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((b)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
b)->d[0] & 1)
((b)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
116 if (!BN_rshift1(a, a)
!BN_rshift1(a, a)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
117 goto
never executed: goto err;
err;
never executed: goto err;
0
118 if (BN_cmp(a, b) < 0
BN_cmp(a, b) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
119 t = a;-
120 a = b;-
121 b = t;-
122 }
never executed: end of block
0
123 }
never executed: end of block
0
124 else-
125 {-
126 if (!BN_rshift1(a, a)
!BN_rshift1(a, a)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
127 goto
never executed: goto err;
err;
never executed: goto err;
0
128 if (!BN_rshift1(b, b)
!BN_rshift1(b, b)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
129 goto
never executed: goto err;
err;
never executed: goto err;
0
130 shifts++;-
131 }
never executed: end of block
0
132 }-
133-
134 }-
135-
136 if (shifts
shiftsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
137 if (!BN_lshift(a, a, shifts)
!BN_lshift(a, a, shifts)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
138 goto
never executed: goto err;
err;
never executed: goto err;
0
139 }
never executed: end of block
0
140 ;-
141 return
never executed: return (a);
(a);
never executed: return (a);
0
142-
143err:-
144 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
145 ((void *)0)
never executed: return ( ((void *)0) );
0
146 );
never executed: return ( ((void *)0) );
0
147}-
148-
149-
150-
151static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, const BIGNUM *a,-
152 const BIGNUM *n, BN_CTX *ctx);-
153-
154static BIGNUM *-
155BN_mod_inverse_internal(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx,-
156 int ct)-
157{-
158 BIGNUM *A, *B, *X, *Y, *M, *D, *T, *R = -
159 ((void *)0)-
160 ;-
161 BIGNUM *ret = -
162 ((void *)0)-
163 ;-
164 int sign;-
165-
166 if (ct
ctDescription
TRUEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-4086
167 return
executed 4086 times by 14 tests: return BN_mod_inverse_no_branch(in, a, n, ctx);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
BN_mod_inverse_no_branch(in, a, n, ctx);
executed 4086 times by 14 tests: return BN_mod_inverse_no_branch(in, a, n, ctx);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4086
168-
169 ;-
170 ;-
171-
172 BN_CTX_start(ctx);-
173 if ((
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
A = BN_CTX_get(ctx)) ==
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
174 ((void *)0)
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
175 )-
176 goto
never executed: goto err;
err;
never executed: goto err;
0
177 if ((
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
B = BN_CTX_get(ctx)) ==
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
178 ((void *)0)
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
179 )-
180 goto
never executed: goto err;
err;
never executed: goto err;
0
181 if ((
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
X = BN_CTX_get(ctx)) ==
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
182 ((void *)0)
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
183 )-
184 goto
never executed: goto err;
err;
never executed: goto err;
0
185 if ((
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
D = BN_CTX_get(ctx)) ==
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
186 ((void *)0)
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
187 )-
188 goto
never executed: goto err;
err;
never executed: goto err;
0
189 if ((
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
M = BN_CTX_get(ctx)) ==
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
190 ((void *)0)
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
191 )-
192 goto
never executed: goto err;
err;
never executed: goto err;
0
193 if ((
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
Y = BN_CTX_get(ctx)) ==
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
194 ((void *)0)
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
195 )-
196 goto
never executed: goto err;
err;
never executed: goto err;
0
197 if ((
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
T = BN_CTX_get(ctx)) ==
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
198 ((void *)0)
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
199 )-
200 goto
never executed: goto err;
err;
never executed: goto err;
0
201-
202 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
203 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
204 )-
205 R = BN_new();
never executed: R = BN_new();
0
206 else-
207 R = in;
never executed: R = in;
0
208 if (R ==
R == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
209 ((void *)0)
R == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
210 )-
211 goto
never executed: goto err;
err;
never executed: goto err;
0
212-
213 (BN_set_word((X),1));-
214 (BN_set_word((Y),0));-
215 if (BN_copy(B, a) ==
BN_copy(B, a) == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
216 ((void *)0)
BN_copy(B, a) == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
217 )-
218 goto
never executed: goto err;
err;
never executed: goto err;
0
219 if (BN_copy(A, n) ==
BN_copy(A, n) == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
220 ((void *)0)
BN_copy(A, n) == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
221 )-
222 goto
never executed: goto err;
err;
never executed: goto err;
0
223 A->neg = 0;-
224 if (B->neg
B->negDescription
TRUEnever evaluated
FALSEnever evaluated
|| (
(BN_ucmp(B, A) >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
BN_ucmp(B, A) >= 0)
(BN_ucmp(B, A) >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
225 if (!BN_nnmod(B, B, A, ctx)
!BN_nnmod(B, B, A, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
226 goto
never executed: goto err;
err;
never executed: goto err;
0
227 }
never executed: end of block
0
228 sign = -1;-
229-
230-
231-
232-
233-
234-
235-
236 if ((((
((n)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
n)->top > 0)
((n)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((n)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
n)->d[0] & 1)
((n)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
) && (
(BN_num_bits(n...? 450 : 2048))Description
TRUEnever evaluated
FALSEnever evaluated
BN_num_bits(n) <= (128 <= 32 ? 450 : 2048))
(BN_num_bits(n...? 450 : 2048))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
237-
238-
239-
240-
241 int shift;-
242-
243 while (!((B)->top == 0)
!((B)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
244 shift = 0;-
245 while (!BN_is_bit_set(B, shift)
!BN_is_bit_set(B, shift)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
246 {-
247 shift++;-
248-
249 if ((((
((X)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
X)->top > 0)
((X)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((X)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
X)->d[0] & 1)
((X)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
250 if (!BN_uadd(X, X, n)
!BN_uadd(X, X, n)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
251 goto
never executed: goto err;
err;
never executed: goto err;
0
252 }
never executed: end of block
0
253-
254 if (!BN_rshift1(X, X)
!BN_rshift1(X, X)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
255 goto
never executed: goto err;
err;
never executed: goto err;
0
256 }
never executed: end of block
0
257 if (shift > 0
shift > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
258 if (!BN_rshift(B, B, shift)
!BN_rshift(B, B, shift)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
259 goto
never executed: goto err;
err;
never executed: goto err;
0
260 }
never executed: end of block
0
261-
262-
263-
264 shift = 0;-
265 while (!BN_is_bit_set(A, shift)
!BN_is_bit_set(A, shift)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
266 {-
267 shift++;-
268-
269 if ((((
((Y)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
Y)->top > 0)
((Y)->top > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((Y)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
Y)->d[0] & 1)
((Y)->d[0] & 1)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
270 if (!BN_uadd(Y, Y, n)
!BN_uadd(Y, Y, n)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
271 goto
never executed: goto err;
err;
never executed: goto err;
0
272 }
never executed: end of block
0
273-
274 if (!BN_rshift1(Y, Y)
!BN_rshift1(Y, Y)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
275 goto
never executed: goto err;
err;
never executed: goto err;
0
276 }
never executed: end of block
0
277 if (shift > 0
shift > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
278 if (!BN_rshift(A, A, shift)
!BN_rshift(A, A, shift)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
279 goto
never executed: goto err;
err;
never executed: goto err;
0
280 }
never executed: end of block
0
281 if (BN_ucmp(B, A) >= 0
BN_ucmp(B, A) >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
282-
283 if (!BN_uadd(X, X, Y)
!BN_uadd(X, X, Y)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
284 goto
never executed: goto err;
err;
never executed: goto err;
0
285-
286-
287 if (!BN_usub(B, B, A)
!BN_usub(B, B, A)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
288 goto
never executed: goto err;
err;
never executed: goto err;
0
289 }
never executed: end of block
else {
0
290-
291 if (!BN_uadd(Y, Y, X)
!BN_uadd(Y, Y, X)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
292 goto
never executed: goto err;
err;
never executed: goto err;
0
293-
294 if (!BN_usub(A, A, B)
!BN_usub(A, A, B)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
295 goto
never executed: goto err;
err;
never executed: goto err;
0
296 }
never executed: end of block
0
297 }-
298 }
never executed: end of block
else {
0
299-
300-
301 while (!((B)->top == 0)
!((B)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
302 BIGNUM *tmp;-
303 if (BN_num_bits(A) == BN_num_bits(B)
BN_num_bits(A)...BN_num_bits(B)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
304 if (!(BN_set_word((D),1))
!(BN_set_word((D),1))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
305 goto
never executed: goto err;
err;
never executed: goto err;
0
306 if (!BN_sub(M, A, B)
!BN_sub(M, A, B)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
307 goto
never executed: goto err;
err;
never executed: goto err;
0
308 }
never executed: end of block
else if (BN_num_bits(A) == BN_num_bits(B) + 1
BN_num_bits(A)...um_bits(B) + 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
309-
310 if (!BN_lshift1(T, B)
!BN_lshift1(T, B)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
311 goto
never executed: goto err;
err;
never executed: goto err;
0
312 if (BN_ucmp(A, T) < 0
BN_ucmp(A, T) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
313-
314 if (!(BN_set_word((D),1))
!(BN_set_word((D),1))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
315 goto
never executed: goto err;
err;
never executed: goto err;
0
316 if (!BN_sub(M, A, B)
!BN_sub(M, A, B)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
317 goto
never executed: goto err;
err;
never executed: goto err;
0
318 }
never executed: end of block
else {
0
319-
320 if (!BN_sub(M, A, T)
!BN_sub(M, A, T)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
321 goto
never executed: goto err;
err;
never executed: goto err;
0
322 if (!BN_add(D,T,B)
!BN_add(D,T,B)Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto err;
err;
never executed: goto err;
0
323 if (BN_ucmp(A, D) < 0
BN_ucmp(A, D) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
324-
325 if (!BN_set_word(D, 2)
!BN_set_word(D, 2)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
326 goto
never executed: goto err;
err;
never executed: goto err;
0
327-
328 }
never executed: end of block
else {
0
329-
330 if (!BN_set_word(D, 3)
!BN_set_word(D, 3)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
331 goto
never executed: goto err;
err;
never executed: goto err;
0
332-
333 if (!BN_sub(M, M, B)
!BN_sub(M, M, B)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
334 goto
never executed: goto err;
err;
never executed: goto err;
0
335 }
never executed: end of block
0
336 }-
337 } else {-
338 if (!BN_div_nonct(D, M, A, B, ctx)
!BN_div_nonct(D, M, A, B, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
339 goto
never executed: goto err;
err;
never executed: goto err;
0
340 }
never executed: end of block
0
341-
342-
343-
344-
345-
346-
347 tmp = A;-
348-
349-
350 A = B;-
351 B = M;-
352 if (((((((
(((D))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
D))->top == 1)
(((D))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((D))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
D))->d[0] == (unsigned long)(1))
(((D))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((D))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
D))->top == 0)
(((D))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(D)->neg
!(D)->negDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
353 if (!BN_add(tmp, X, Y)
!BN_add(tmp, X, Y)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
354 goto
never executed: goto err;
err;
never executed: goto err;
0
355 }
never executed: end of block
else {
0
356 if (((((((
(((D))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
D))->top == 1)
(((D))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((D))->d[0] =...ed long)((2)))Description
TRUEnever evaluated
FALSEnever evaluated
D))->d[0] == (unsigned long)((2)))
(((D))->d[0] =...ed long)((2)))Description
TRUEnever evaluated
FALSEnever evaluated
) || ((((
(((2)) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
2)) == 0)
(((2)) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((D))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
D))->top == 0)
(((D))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && (!(2) || !(D)->neg
!(D)->negDescription
TRUEnever evaluated
FALSEnever evaluated
))) {
0
357 if (!BN_lshift1(tmp, X)
!BN_lshift1(tmp, X)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
358 goto
never executed: goto err;
err;
never executed: goto err;
0
359 }
never executed: end of block
else if (((((((
(((D))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
D))->top == 1)
(((D))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((D))->d[0] =...ed long)((4)))Description
TRUEnever evaluated
FALSEnever evaluated
D))->d[0] == (unsigned long)((4)))
(((D))->d[0] =...ed long)((4)))Description
TRUEnever evaluated
FALSEnever evaluated
) || ((((
(((4)) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
4)) == 0)
(((4)) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((D))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
D))->top == 0)
(((D))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && (!(4) || !(D)->neg
!(D)->negDescription
TRUEnever evaluated
FALSEnever evaluated
))) {
0
360 if (!BN_lshift(tmp, X, 2)
!BN_lshift(tmp, X, 2)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
361 goto
never executed: goto err;
err;
never executed: goto err;
0
362 }
never executed: end of block
else if (D->top == 1
D->top == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
363 if (!BN_copy(tmp, X)
!BN_copy(tmp, X)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
364 goto
never executed: goto err;
err;
never executed: goto err;
0
365 if (!BN_mul_word(tmp, D->d[0])
!BN_mul_word(tmp, D->d[0])Description
TRUEnever evaluated
FALSEnever evaluated
)
0
366 goto
never executed: goto err;
err;
never executed: goto err;
0
367 }
never executed: end of block
else {
0
368 if (!BN_mul(tmp, D,X, ctx)
!BN_mul(tmp, D,X, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
369 goto
never executed: goto err;
err;
never executed: goto err;
0
370 }
never executed: end of block
0
371 if (!BN_add(tmp, tmp, Y)
!BN_add(tmp, tmp, Y)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
372 goto
never executed: goto err;
err;
never executed: goto err;
0
373 }
never executed: end of block
0
374-
375 M = Y;-
376 Y = X;-
377 X = tmp;-
378 sign = -sign;-
379 }
never executed: end of block
0
380 }
never executed: end of block
0
381 if (sign < 0
sign < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
382 if (!BN_sub(Y, n, Y)
!BN_sub(Y, n, Y)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
383 goto
never executed: goto err;
err;
never executed: goto err;
0
384 }
never executed: end of block
0
385-
386-
387 if (((((((
(((A))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
A))->top == 1)
(((A))->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((A))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
A))->d[0] == (unsigned long)(1))
(((A))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((A))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
A))->top == 0)
(((A))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(A)->neg
!(A)->negDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
388-
389 if (!Y->neg
!Y->negDescription
TRUEnever evaluated
FALSEnever evaluated
&& BN_ucmp(Y, n) < 0
BN_ucmp(Y, n) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
390 if (!BN_copy(R, Y)
!BN_copy(R, Y)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
391 goto
never executed: goto err;
err;
never executed: goto err;
0
392 }
never executed: end of block
else {
0
393 if (!BN_nnmod(R, Y,n, ctx)
!BN_nnmod(R, Y,n, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
394 goto
never executed: goto err;
err;
never executed: goto err;
0
395 }
never executed: end of block
0
396 } else {-
397 ERR_put_error(3,(0xfff),(108),__FILE__,530);-
398 goto
never executed: goto err;
err;
never executed: goto err;
0
399 }-
400 ret = R;-
401-
402err:
code before this statement never executed: err:
0
403 if ((
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
ret ==
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
404 ((void *)0)
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
405 )
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
in ==
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
406 ((void *)0)
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
407 )
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
408 BN_free(R);
never executed: BN_free(R);
0
409 BN_CTX_end(ctx);-
410 ;-
411 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
412}-
413-
414BIGNUM *-
415BN_mod_inverse(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)-
416{-
417 int ct = ((((
(((a)->flags&(0x04)) != 0)Description
TRUEnever evaluated
FALSEnever evaluated
a)->flags&(0x04)) != 0)
(((a)->flags&(0x04)) != 0)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
418 (((
(((n)->flags&(0x04)) != 0)Description
TRUEnever evaluated
FALSEnever evaluated
n)->flags&(0x04)) != 0)
(((n)->flags&(0x04)) != 0)Description
TRUEnever evaluated
FALSEnever evaluated
);
0
419 return
never executed: return BN_mod_inverse_internal(in, a, n, ctx, ct);
BN_mod_inverse_internal(in, a, n, ctx, ct);
never executed: return BN_mod_inverse_internal(in, a, n, ctx, ct);
0
420}-
421-
422BIGNUM *-
423BN_mod_inverse_nonct(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)-
424{-
425 return
never executed: return BN_mod_inverse_internal(in, a, n, ctx, 0);
BN_mod_inverse_internal(in, a, n, ctx, 0);
never executed: return BN_mod_inverse_internal(in, a, n, ctx, 0);
0
426}-
427-
428BIGNUM *-
429BN_mod_inverse_ct(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)-
430{-
431 return
executed 4086 times by 14 tests: return BN_mod_inverse_internal(in, a, n, ctx, 1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
BN_mod_inverse_internal(in, a, n, ctx, 1);
executed 4086 times by 14 tests: return BN_mod_inverse_internal(in, a, n, ctx, 1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4086
432}-
433-
434-
435-
436-
437static BIGNUM *-
438BN_mod_inverse_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n,-
439 BN_CTX *ctx)-
440{-
441 BIGNUM *A, *B, *X, *Y, *M, *D, *T, *R = -
442 ((void *)0)-
443 ;-
444 BIGNUM local_A, local_B;-
445 BIGNUM *pA, *pB;-
446 BIGNUM *ret = -
447 ((void *)0)-
448 ;-
449 int sign;-
450-
451 ;-
452 ;-
453-
454 BN_CTX_start(ctx);-
455 if ((
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
A = BN_CTX_get(ctx)) ==
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
456 ((void *)0)
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
457 )-
458 goto
never executed: goto err;
err;
never executed: goto err;
0
459 if ((
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
B = BN_CTX_get(ctx)) ==
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
460 ((void *)0)
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
461 )-
462 goto
never executed: goto err;
err;
never executed: goto err;
0
463 if ((
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
X = BN_CTX_get(ctx)) ==
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
464 ((void *)0)
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
465 )-
466 goto
never executed: goto err;
err;
never executed: goto err;
0
467 if ((
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
D = BN_CTX_get(ctx)) ==
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
468 ((void *)0)
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
469 )-
470 goto
never executed: goto err;
err;
never executed: goto err;
0
471 if ((
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
M = BN_CTX_get(ctx)) ==
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
472 ((void *)0)
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
473 )-
474 goto
never executed: goto err;
err;
never executed: goto err;
0
475 if ((
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
Y = BN_CTX_get(ctx)) ==
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
476 ((void *)0)
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
477 )-
478 goto
never executed: goto err;
err;
never executed: goto err;
0
479 if ((
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
T = BN_CTX_get(ctx)) ==
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
480 ((void *)0)
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
481 )-
482 goto
never executed: goto err;
err;
never executed: goto err;
0
483-
484 if (in ==
in == ((void *)0)Description
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2-4084
485 ((void *)0)
in == ((void *)0)Description
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2-4084
486 )-
487 R = BN_new();
executed 2 times by 2 tests: R = BN_new();
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
488 else-
489 R = in;
executed 4084 times by 14 tests: R = in;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4084
490 if (R ==
R == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
491 ((void *)0)
R == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
492 )-
493 goto
never executed: goto err;
err;
never executed: goto err;
0
494-
495 (BN_set_word((X),1));-
496 (BN_set_word((Y),0));-
497 if (BN_copy(B, a) ==
BN_copy(B, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
498 ((void *)0)
BN_copy(B, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
499 )-
500 goto
never executed: goto err;
err;
never executed: goto err;
0
501 if (BN_copy(A, n) ==
BN_copy(A, n) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
502 ((void *)0)
BN_copy(A, n) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-4086
503 )-
504 goto
never executed: goto err;
err;
never executed: goto err;
0
505 A->neg = 0;-
506-
507 if (B->neg
B->negDescription
TRUEnever evaluated
FALSEevaluated 4086 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
|| (
(BN_ucmp(B, A) >= 0)Description
TRUEevaluated 2959 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1127 times by 10 tests
Evaluated by:
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
BN_ucmp(B, A) >= 0)
(BN_ucmp(B, A) >= 0)Description
TRUEevaluated 2959 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1127 times by 10 tests
Evaluated by:
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
0-4086
508-
509-
510-
511 pB = &local_B;-
512 ((pB)->d=(B)->d, (pB)->top=(B)->top, (pB)->dmax=(B)->dmax, (pB)->neg=(B)->neg, (pB)->flags=(((pB)->flags & 0x01) | ((B)->flags & ~0x01) | 0x02 | (0x04)));-
513 if (!BN_nnmod(B, pB, A, ctx)
!BN_nnmod(B, pB, A, ctx)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • bntest
FALSEevaluated 2958 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
1-2958
514 goto
executed 1 time by 1 test: goto err;
Executed by:
  • bntest
err;
executed 1 time by 1 test: goto err;
Executed by:
  • bntest
1
515 }
executed 2958 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2958
516 sign = -1;-
517-
518-
519-
520-
521-
522-
523-
524 while (!((B)->top == 0)
!((B)->top == 0)Description
TRUEevaluated 334754 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 4085 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
4085-334754
525 BIGNUM *tmp;-
526 pA = &local_A;-
527 ((pA)->d=(A)->d, (pA)->top=(A)->top, (pA)->dmax=(A)->dmax, (pA)->neg=(A)->neg, (pA)->flags=(((pA)->flags & 0x01) | ((A)->flags & ~0x01) | 0x02 | (0x04)));-
528-
529-
530 if (!BN_div_ct(D, M, pA, B, ctx)
!BN_div_ct(D, M, pA, B, ctx)Description
TRUEnever evaluated
FALSEevaluated 334754 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-334754
531 goto
never executed: goto err;
err;
never executed: goto err;
0
532-
533-
534-
535-
536-
537-
538 tmp = A;-
539-
540-
541 A = B;-
542 B = M;-
543 if (!BN_mul(tmp, D, X, ctx)
!BN_mul(tmp, D, X, ctx)Description
TRUEnever evaluated
FALSEevaluated 334754 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-334754
544 goto
never executed: goto err;
err;
never executed: goto err;
0
545 if (!BN_add(tmp, tmp, Y)
!BN_add(tmp, tmp, Y)Description
TRUEnever evaluated
FALSEevaluated 334754 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-334754
546 goto
never executed: goto err;
err;
never executed: goto err;
0
547-
548 M = Y;-
549 Y = X;-
550 X = tmp;-
551 sign = -sign;-
552 }
executed 334754 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
334754
553 if (sign < 0
sign < 0Description
TRUEevaluated 1935 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2150 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
1935-2150
554 if (!BN_sub(Y, n, Y)
!BN_sub(Y, n, Y)Description
TRUEnever evaluated
FALSEevaluated 1935 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-1935
555 goto
never executed: goto err;
err;
never executed: goto err;
0
556 }
executed 1935 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
1935
557-
558-
559 if (((((((
(((A))->top == 1)Description
TRUEevaluated 4085 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
A))->top == 1)
(((A))->top == 1)Description
TRUEevaluated 4085 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
&& (((
(((A))->d[0] =...gned long)(1))Description
TRUEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
A))->d[0] == (unsigned long)(1))
(((A))->d[0] =...gned long)(1))Description
TRUEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
&& (((
(((A))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
A))->top == 0)
(((A))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(A)->neg
!(A)->negDescription
TRUEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
)) {
0-4085
560-
561 if (!Y->neg
!Y->negDescription
TRUEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
&& BN_ucmp(Y, n) < 0
BN_ucmp(Y, n) < 0Description
TRUEevaluated 4072 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 12 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
) {
0-4084
562 if (!BN_copy(R, Y)
!BN_copy(R, Y)Description
TRUEnever evaluated
FALSEevaluated 4072 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4072
563 goto
never executed: goto err;
err;
never executed: goto err;
0
564 }
executed 4072 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
else {
4072
565 if (!BN_nnmod(R, Y, n, ctx)
!BN_nnmod(R, Y, n, ctx)Description
TRUEnever evaluated
FALSEevaluated 12 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
)
0-12
566 goto
never executed: goto err;
err;
never executed: goto err;
0
567 }
executed 12 times by 3 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
12
568 } else {-
569 ERR_put_error(3,(0xfff),(108),__FILE__,712);-
570 goto
executed 1 time by 1 test: goto err;
Executed by:
  • bntest
err;
executed 1 time by 1 test: goto err;
Executed by:
  • bntest
1
571 }-
572 ret = R;-
573-
574err:
code before this statement executed 4084 times by 14 tests: err:
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4084
575 if ((
(ret == ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
ret ==
(ret == ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2-4084
576 ((void *)0)
(ret == ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2-4084
577 )
(ret == ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4084 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
&& (
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • bntest
in ==
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • bntest
0-4084
578 ((void *)0)
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • bntest
0-2
579 )
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • bntest
)
0-2
580 BN_free(R);
never executed: BN_free(R);
0
581 BN_CTX_end(ctx);-
582 ;-
583 return
executed 4086 times by 14 tests: return (ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 4086 times by 14 tests: return (ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4086
584}-
585-
586-
587-
588-
589-
590static BIGNUM *-
591BN_gcd_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n,-
592 BN_CTX *ctx)-
593{-
594 BIGNUM *A, *B, *X, *Y, *M, *D, *T, *R = -
595 ((void *)0)-
596 ;-
597 BIGNUM local_A, local_B;-
598 BIGNUM *pA, *pB;-
599 BIGNUM *ret = -
600 ((void *)0)-
601 ;-
602 int sign;-
603-
604 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
605 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
606 )-
607 goto
never executed: goto err;
err;
never executed: goto err;
0
608 R = in;-
609-
610 ;-
611 ;-
612-
613 BN_CTX_start(ctx);-
614 if ((
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
A = BN_CTX_get(ctx)) ==
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
615 ((void *)0)
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
616 )-
617 goto
never executed: goto err;
err;
never executed: goto err;
0
618 if ((
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
B = BN_CTX_get(ctx)) ==
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
619 ((void *)0)
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
620 )-
621 goto
never executed: goto err;
err;
never executed: goto err;
0
622 if ((
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
X = BN_CTX_get(ctx)) ==
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
623 ((void *)0)
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
624 )-
625 goto
never executed: goto err;
err;
never executed: goto err;
0
626 if ((
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
D = BN_CTX_get(ctx)) ==
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
627 ((void *)0)
(D = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
628 )-
629 goto
never executed: goto err;
err;
never executed: goto err;
0
630 if ((
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
M = BN_CTX_get(ctx)) ==
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
631 ((void *)0)
(M = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
632 )-
633 goto
never executed: goto err;
err;
never executed: goto err;
0
634 if ((
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
Y = BN_CTX_get(ctx)) ==
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
635 ((void *)0)
(Y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
636 )-
637 goto
never executed: goto err;
err;
never executed: goto err;
0
638 if ((
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
T = BN_CTX_get(ctx)) ==
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
639 ((void *)0)
(T = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
640 )-
641 goto
never executed: goto err;
err;
never executed: goto err;
0
642-
643 (BN_set_word((X),1));-
644 (BN_set_word((Y),0));-
645 if (BN_copy(B, a) ==
BN_copy(B, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
646 ((void *)0)
BN_copy(B, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
647 )-
648 goto
never executed: goto err;
err;
never executed: goto err;
0
649 if (BN_copy(A, n) ==
BN_copy(A, n) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
650 ((void *)0)
BN_copy(A, n) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
651 )-
652 goto
never executed: goto err;
err;
never executed: goto err;
0
653 A->neg = 0;-
654-
655 if (B->neg
B->negDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
|| (
(BN_ucmp(B, A) >= 0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
BN_ucmp(B, A) >= 0)
(BN_ucmp(B, A) >= 0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
) {
0-2
656-
657-
658-
659 pB = &local_B;-
660 ((pB)->d=(B)->d, (pB)->top=(B)->top, (pB)->dmax=(B)->dmax, (pB)->neg=(B)->neg, (pB)->flags=(((pB)->flags & 0x01) | ((B)->flags & ~0x01) | 0x02 | (0x04)));-
661 if (!BN_nnmod(B, pB, A, ctx)
!BN_nnmod(B, pB, A, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-2
662 goto
never executed: goto err;
err;
never executed: goto err;
0
663 }
executed 2 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
2
664 sign = -1;-
665-
666-
667-
668-
669-
670-
671-
672 while (!((B)->top == 0)
!((B)->top == 0)Description
TRUEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
2-19
673 BIGNUM *tmp;-
674 pA = &local_A;-
675 ((pA)->d=(A)->d, (pA)->top=(A)->top, (pA)->dmax=(A)->dmax, (pA)->neg=(A)->neg, (pA)->flags=(((pA)->flags & 0x01) | ((A)->flags & ~0x01) | 0x02 | (0x04)));-
676-
677-
678 if (!BN_div_ct(D, M, pA, B, ctx)
!BN_div_ct(D, M, pA, B, ctx)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-19
679 goto
never executed: goto err;
err;
never executed: goto err;
0
680-
681-
682-
683-
684-
685-
686 tmp = A;-
687-
688-
689 A = B;-
690 B = M;-
691 if (!BN_mul(tmp, D, X, ctx)
!BN_mul(tmp, D, X, ctx)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-19
692 goto
never executed: goto err;
err;
never executed: goto err;
0
693 if (!BN_add(tmp, tmp, Y)
!BN_add(tmp, tmp, Y)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-19
694 goto
never executed: goto err;
err;
never executed: goto err;
0
695-
696 M = Y;-
697 Y = X;-
698 X = tmp;-
699 sign = -sign;-
700 }
executed 19 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
19
701-
702-
703-
704-
705-
706-
707 if (!BN_copy(R, A)
!BN_copy(R, A)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-2
708 goto
never executed: goto err;
err;
never executed: goto err;
0
709 ret = R;-
710err:
code before this statement executed 2 times by 1 test: err:
Executed by:
  • libcrypto.so.44.0.1
2
711 if ((
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
ret ==
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
712 ((void *)0)
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
713 )
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
&& (
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
in ==
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0-2
714 ((void *)0)
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
715 )
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
716 BN_free(R);
never executed: BN_free(R);
0
717 BN_CTX_end(ctx);-
718 ;-
719 return
executed 2 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
(ret);
executed 2 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
2
720}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2