OpenCoverage

bn_sqrt.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_sqrt.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3BIGNUM *-
4BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)-
5-
6-
7-
8-
9-
10-
11{-
12 BIGNUM *ret = in;-
13 int err = 1;-
14 int r;-
15 BIGNUM *A, *b, *q, *t, *x, *y;-
16 int e, i, j;-
17-
18 if (!(((
((p)->top > 0)Description
TRUEevaluated 87 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
p)->top > 0)
((p)->top > 0)Description
TRUEevaluated 87 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
&& ((
((p)->d[0] & 1)Description
TRUEevaluated 82 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
p)->d[0] & 1)
((p)->d[0] & 1)Description
TRUEevaluated 82 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
) || ((((
((p)->top == 1)Description
TRUEevaluated 37 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 45 times by 2 tests
Evaluated by:
  • bntest
  • ectest
p)->top == 1)
((p)->top == 1)Description
TRUEevaluated 37 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 45 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& ((
((p)->d[0] == ...gned long)(1))Description
TRUEnever evaluated
FALSEevaluated 37 times by 2 tests
Evaluated by:
  • bntest
  • ectest
p)->d[0] == (unsigned long)(1))
((p)->d[0] == ...gned long)(1))Description
TRUEnever evaluated
FALSEevaluated 37 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • bntest
  • ectest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& ((
((p)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
p)->top == 0)
((p)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
))) {
0-87
19 if (((((
((p)->top == 1)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
p)->top == 1)
((p)->top == 1)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& ((
((p)->d[0] == ...gned long)(2))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
p)->d[0] == (unsigned long)(2))
((p)->d[0] == ...gned long)(2))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
) || (((
((2) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
2) == 0)
((2) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((p)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
p)->top == 0)
((p)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
))) {
0-5
20 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
0-5
21 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
0-5
22 )-
23 ret = BN_new();
never executed: ret = BN_new();
0
24 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
0-5
25 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
0-5
26 )-
27 goto
never executed: goto end;
end;
never executed: goto end;
0
28 if (!BN_set_word(ret, BN_is_bit_set(a, 0))
!BN_set_word(r...bit_set(a, 0))Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
) {
0-5
29 if (ret != in
ret != inDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
30 BN_free(ret);
never executed: BN_free(ret);
0
31 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
32 ((void *)0)
never executed: return ((void *)0) ;
0
33 ;
never executed: return ((void *)0) ;
0
34 }-
35 ;-
36 return
executed 5 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 5 times by 1 test: return ret;
Executed by:
  • bntest
5
37 }-
38-
39 ERR_put_error(3,(0xfff),(112),__FILE__,92);-
40 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
41 ((void *)0)
never executed: return ( ((void *)0) );
0
42 );
never executed: return ( ((void *)0) );
0
43 }-
44-
45 if (((
((a)->top == 0)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 76 times by 2 tests
Evaluated by:
  • bntest
  • ectest
a)->top == 0)
((a)->top == 0)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 76 times by 2 tests
Evaluated by:
  • bntest
  • ectest
|| ((((((
(((a))->top == 1)Description
TRUEevaluated 31 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 45 times by 2 tests
Evaluated by:
  • bntest
  • ectest
a))->top == 1)
(((a))->top == 1)Description
TRUEevaluated 31 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 45 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((a))->d[0] =...gned long)(1))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • bntest
  • ectest
a))->d[0] == (unsigned long)(1))
(((a))->d[0] =...gned long)(1))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 2 tests
Evaluated by:
  • bntest
  • ectest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((a))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
a))->top == 0)
(((a))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(a)->neg
!(a)->negDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • bntest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • bntest
)) {
0-76
46 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • bntest
0-7
47 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • bntest
0-7
48 )-
49 ret = BN_new();
never executed: ret = BN_new();
0
50 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • bntest
0-7
51 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • bntest
0-7
52 )-
53 goto
never executed: goto end;
end;
never executed: goto end;
0
54 if (!BN_set_word(ret, ((((((a))->top == 1) && (((a))->d[0] == (unsigned long)(1))) || (((1) == 0) && (((a))->top == 0))) && !(a)->neg))
!BN_set_word(r...&& !(a)->neg))Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • bntest
) {
0-7
55 if (ret != in
ret != inDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
56 BN_free(ret);
never executed: BN_free(ret);
0
57 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
58 ((void *)0)
never executed: return ((void *)0) ;
0
59 ;
never executed: return ((void *)0) ;
0
60 }-
61 ;-
62 return
executed 7 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 7 times by 1 test: return ret;
Executed by:
  • bntest
7
63 }-
64-
65 BN_CTX_start(ctx);-
66 if ((
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
A = BN_CTX_get(ctx)) ==
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
67 ((void *)0)
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
68 )-
69 goto
never executed: goto end;
end;
never executed: goto end;
0
70 if ((
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
b = BN_CTX_get(ctx)) ==
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
71 ((void *)0)
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
72 )-
73 goto
never executed: goto end;
end;
never executed: goto end;
0
74 if ((
(q = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
q = BN_CTX_get(ctx)) ==
(q = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
75 ((void *)0)
(q = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
76 )-
77 goto
never executed: goto end;
end;
never executed: goto end;
0
78 if ((
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
t = BN_CTX_get(ctx)) ==
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
79 ((void *)0)
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
80 )-
81 goto
never executed: goto end;
end;
never executed: goto end;
0
82 if ((
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
x = BN_CTX_get(ctx)) ==
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
83 ((void *)0)
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
84 )-
85 goto
never executed: goto end;
end;
never executed: goto end;
0
86 if ((
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
y = BN_CTX_get(ctx)) ==
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
87 ((void *)0)
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
88 )-
89 goto
never executed: goto end;
end;
never executed: goto end;
0
90-
91 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
92 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
93 )-
94 ret = BN_new();
never executed: ret = BN_new();
0
95 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
96 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-75
97 )-
98 goto
never executed: goto end;
end;
never executed: goto end;
0
99-
100-
101 if (!BN_nnmod(A, a, p, ctx)
!BN_nnmod(A, a, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-75
102 goto
never executed: goto end;
end;
never executed: goto end;
0
103-
104-
105 e = 1;-
106 while (!BN_is_bit_set(p, e)
!BN_is_bit_set(p, e)Description
TRUEevaluated 153 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
75-153
107 e++;
executed 153 times by 2 tests: e++;
Executed by:
  • bntest
  • ectest
153
108-
109-
110 if (e == 1
e == 1Description
TRUEevaluated 41 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
34-41
111-
112-
113-
114-
115-
116-
117-
118 if (!BN_rshift(q, p, 2)
!BN_rshift(q, p, 2)Description
TRUEnever evaluated
FALSEevaluated 41 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-41
119 goto
never executed: goto end;
end;
never executed: goto end;
0
120 q->neg = 0;-
121 if (!BN_add_word(q, 1)
!BN_add_word(q, 1)Description
TRUEnever evaluated
FALSEevaluated 41 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-41
122 goto
never executed: goto end;
end;
never executed: goto end;
0
123 if (!BN_mod_exp_ct(ret, A, q, p, ctx)
!BN_mod_exp_ct... A, q, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 41 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-41
124 goto
never executed: goto end;
end;
never executed: goto end;
0
125 err = 0;-
126 goto
executed 41 times by 2 tests: goto vrfy;
Executed by:
  • bntest
  • ectest
vrfy;
executed 41 times by 2 tests: goto vrfy;
Executed by:
  • bntest
  • ectest
41
127 }-
128-
129 if (e == 2
e == 2Description
TRUEevaluated 18 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
16-18
130 if (!BN_mod_lshift1_quick(t, A, p)
!BN_mod_lshift1_quick(t, A, p)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
131 goto
never executed: goto end;
end;
never executed: goto end;
0
132-
133-
134 if (!BN_rshift(q, p, 3)
!BN_rshift(q, p, 3)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
135 goto
never executed: goto end;
end;
never executed: goto end;
0
136 q->neg = 0;-
137 if (!BN_mod_exp_ct(b, t, q, p, ctx)
!BN_mod_exp_ct... t, q, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
138 goto
never executed: goto end;
end;
never executed: goto end;
0
139-
140-
141 if (!BN_mod_sqr(y, b, p, ctx)
!BN_mod_sqr(y, b, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
142 goto
never executed: goto end;
end;
never executed: goto end;
0
143-
144-
145 if (!BN_mod_mul(t, t, y, p, ctx)
!BN_mod_mul(t, t, y, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
146 goto
never executed: goto end;
end;
never executed: goto end;
0
147 if (!BN_sub_word(t, 1)
!BN_sub_word(t, 1)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
148 goto
never executed: goto end;
end;
never executed: goto end;
0
149-
150-
151 if (!BN_mod_mul(x, A, b, p, ctx)
!BN_mod_mul(x, A, b, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
152 goto
never executed: goto end;
end;
never executed: goto end;
0
153 if (!BN_mod_mul(x, x, t, p, ctx)
!BN_mod_mul(x, x, t, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
154 goto
never executed: goto end;
end;
never executed: goto end;
0
155-
156 if (!BN_copy(ret, x)
!BN_copy(ret, x)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • bntest
)
0-18
157 goto
never executed: goto end;
end;
never executed: goto end;
0
158 err = 0;-
159 goto
executed 18 times by 1 test: goto vrfy;
Executed by:
  • bntest
vrfy;
executed 18 times by 1 test: goto vrfy;
Executed by:
  • bntest
18
160 }-
161-
162-
163-
164 if (!BN_copy(q, p)
!BN_copy(q, p)Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) goto
never executed: goto end;
end;
never executed: goto end;
0-16
165 q->neg = 0;-
166 i = 2;-
167 do {-
168-
169-
170-
171 if (i < 22
i < 22Description
TRUEevaluated 40 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
) {
0-40
172 if (!BN_set_word(y, i)
!BN_set_word(y, i)Description
TRUEnever evaluated
FALSEevaluated 40 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-40
173 goto
never executed: goto end;
end;
never executed: goto end;
0
174 }
executed 40 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
else {
40
175 if (!BN_pseudo_rand(y, BN_num_bits(p), 0, 0)
!BN_pseudo_ran...bits(p), 0, 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
176 goto
never executed: goto end;
end;
never executed: goto end;
0
177 if (BN_ucmp(y, p) >= 0
BN_ucmp(y, p) >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
178 if (p->neg
p->negDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
179 if (!BN_add(y, y, p)
!BN_add(y, y, p)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
180 goto
never executed: goto end;
end;
never executed: goto end;
0
181 }
never executed: end of block
else {
0
182 if (!BN_sub(y, y, p)
!BN_sub(y, y, p)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
183 goto
never executed: goto end;
end;
never executed: goto end;
0
184 }
never executed: end of block
0
185 }-
186-
187 if (((
((y)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
y)->top == 0)
((y)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
188 if (!BN_set_word(y, i)
!BN_set_word(y, i)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
189 goto
never executed: goto end;
end;
never executed: goto end;
0
190 }
never executed: end of block
0
191-
192 r = BN_kronecker(y, q, ctx);-
193 if (r < -1
r < -1Description
TRUEnever evaluated
FALSEevaluated 40 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-40
194 goto
never executed: goto end;
end;
never executed: goto end;
0
195 if (r == 0
r == 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-40
196-
197 ERR_put_error(3,(0xfff),(112),__FILE__,253);-
198 goto
never executed: goto end;
end;
never executed: goto end;
0
199 }-
200 }
executed 40 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
40
201 while (r == 1
r == 1Description
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& ++
++i < 82Description
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
i < 82
++i < 82Description
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
);
0-24
202-
203 if (r != -1
r != -1Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-16
204-
205-
206-
207-
208-
209 ERR_put_error(3,(0xfff),(113),__FILE__,265);-
210 goto
never executed: goto end;
end;
never executed: goto end;
0
211 }-
212-
213-
214 if (!BN_rshift(q, q, e)
!BN_rshift(q, q, e)Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-16
215 goto
never executed: goto end;
end;
never executed: goto end;
0
216-
217-
218-
219 if (!BN_mod_exp_ct(y, y, q, p, ctx)
!BN_mod_exp_ct... y, q, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-16
220 goto
never executed: goto end;
end;
never executed: goto end;
0
221 if (((((((
(((y))->top == 1)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
y))->top == 1)
(((y))->top == 1)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((y))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
y))->d[0] == (unsigned long)(1))
(((y))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((y))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
y))->top == 0)
(((y))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(y)->neg
!(y)->negDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0-16
222 ERR_put_error(3,(0xfff),(112),__FILE__,278);-
223 goto
never executed: goto end;
end;
never executed: goto end;
0
224 }-
225 if (!BN_rshift1(t, q)
!BN_rshift1(t, q)Description
TRUEnever evaluated
FALSEevaluated 16 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-16
226 goto
never executed: goto end;
end;
never executed: goto end;
0
227-
228-
229 if (((
((t)->top == 0)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
t)->top == 0)
((t)->top == 0)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
5-11
230 {-
231 if (!BN_nnmod(t, A, p, ctx)
!BN_nnmod(t, A, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • bntest
)
0-5
232 goto
never executed: goto end;
end;
never executed: goto end;
0
233 if (((
((t)->top == 0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • bntest
t)->top == 0)
((t)->top == 0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • bntest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • bntest
) {
1-4
234-
235 (BN_set_word((ret),0));-
236 err = 0;-
237 goto
executed 1 time by 1 test: goto end;
Executed by:
  • bntest
end;
executed 1 time by 1 test: goto end;
Executed by:
  • bntest
1
238 } else if (!(BN_set_word((x),1))
!(BN_set_word((x),1))Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • bntest
)
0-4
239 goto
never executed: goto end;
end;
never executed: goto end;
0
240 }
executed 4 times by 1 test: end of block
Executed by:
  • bntest
else {
4
241 if (!BN_mod_exp_ct(x, A, t, p, ctx)
!BN_mod_exp_ct... A, t, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-11
242 goto
never executed: goto end;
end;
never executed: goto end;
0
243 if (((
((x)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
x)->top == 0)
((x)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-11
244-
245 (BN_set_word((ret),0));-
246 err = 0;-
247 goto
never executed: goto end;
end;
never executed: goto end;
0
248 }-
249 }
executed 11 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
11
250-
251-
252 if (!BN_mod_sqr(b, x, p, ctx)
!BN_mod_sqr(b, x, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-15
253 goto
never executed: goto end;
end;
never executed: goto end;
0
254 if (!BN_mod_mul(b, b, A, p, ctx)
!BN_mod_mul(b, b, A, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-15
255 goto
never executed: goto end;
end;
never executed: goto end;
0
256-
257-
258 if (!BN_mod_mul(x, x, A, p, ctx)
!BN_mod_mul(x, x, A, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-15
259 goto
never executed: goto end;
end;
never executed: goto end;
0
260-
261 while (1) {-
262 if (((((((
(((b))->top == 1)Description
TRUEevaluated 21 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 51 times by 2 tests
Evaluated by:
  • bntest
  • ectest
b))->top == 1)
(((b))->top == 1)Description
TRUEevaluated 21 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 51 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((b))->d[0] =...gned long)(1))Description
TRUEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 6 times by 1 test
Evaluated by:
  • bntest
b))->d[0] == (unsigned long)(1))
(((b))->d[0] =...gned long)(1))Description
TRUEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 6 times by 1 test
Evaluated by:
  • bntest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((b))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
b))->top == 0)
(((b))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(b)->neg
!(b)->negDescription
TRUEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
)) {
0-57
263 if (!BN_copy(ret, x)
!BN_copy(ret, x)Description
TRUEnever evaluated
FALSEevaluated 15 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-15
264 goto
never executed: goto end;
end;
never executed: goto end;
0
265 err = 0;-
266 goto
executed 15 times by 2 tests: goto vrfy;
Executed by:
  • bntest
  • ectest
vrfy;
executed 15 times by 2 tests: goto vrfy;
Executed by:
  • bntest
  • ectest
15
267 }-
268-
269-
270-
271 i = 1;-
272 if (!BN_mod_sqr(t, b, p, ctx)
!BN_mod_sqr(t, b, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-57
273 goto
never executed: goto end;
end;
never executed: goto end;
0
274 while (!((((((
(((t))->top == 1)Description
TRUEevaluated 66 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 1780 times by 2 tests
Evaluated by:
  • bntest
  • ectest
t))->top == 1)
(((t))->top == 1)Description
TRUEevaluated 66 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 1780 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((t))->d[0] =...gned long)(1))Description
TRUEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 9 times by 1 test
Evaluated by:
  • bntest
t))->d[0] == (unsigned long)(1))
(((t))->d[0] =...gned long)(1))Description
TRUEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 9 times by 1 test
Evaluated by:
  • bntest
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 1789 times by 2 tests
Evaluated by:
  • bntest
  • ectest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 1789 times by 2 tests
Evaluated by:
  • bntest
  • ectest
&& (((
(((t))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
t))->top == 0)
(((t))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(t)->neg
!(t)->negDescription
TRUEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
)) {
0-1789
275 i++;-
276 if (i == e
i == eDescription
TRUEnever evaluated
FALSEevaluated 1789 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-1789
277 ERR_put_error(3,(0xfff),(111),__FILE__,362);-
278 goto
never executed: goto end;
end;
never executed: goto end;
0
279 }-
280 if (!BN_mod_mul(t, t, t, p, ctx)
!BN_mod_mul(t, t, t, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 1789 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-1789
281 goto
never executed: goto end;
end;
never executed: goto end;
0
282 }
executed 1789 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
1789
283-
284-
285-
286 if (!BN_copy(t, y)
!BN_copy(t, y)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-57
287 goto
never executed: goto end;
end;
never executed: goto end;
0
288 for (j = e - i - 1; j > 0
j > 0Description
TRUEevaluated 64 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
; j--) {
57-64
289 if (!BN_mod_sqr(t, t, p, ctx)
!BN_mod_sqr(t, t, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 64 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-64
290 goto
never executed: goto end;
end;
never executed: goto end;
0
291 }
executed 64 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
64
292 if (!BN_mod_mul(y, t, t, p, ctx)
!BN_mod_mul(y, t, t, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-57
293 goto
never executed: goto end;
end;
never executed: goto end;
0
294 if (!BN_mod_mul(x, x, t, p, ctx)
!BN_mod_mul(x, x, t, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-57
295 goto
never executed: goto end;
end;
never executed: goto end;
0
296 if (!BN_mod_mul(b, b, y, p, ctx)
!BN_mod_mul(b, b, y, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-57
297 goto
never executed: goto end;
end;
never executed: goto end;
0
298 e = i;-
299 }
executed 57 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
57
300-
301vrfy:
code before this statement never executed: vrfy:
0
302 if (!err
!errDescription
TRUEevaluated 74 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
) {
0-74
303-
304-
305-
306 if (!BN_mod_sqr(x, ret, p, ctx)
!BN_mod_sqr(x, ret, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 74 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-74
307 err = 1;
never executed: err = 1;
0
308-
309 if (!err
!errDescription
TRUEevaluated 74 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
&& 0 != BN_cmp(x, A)
0 != BN_cmp(x, A)Description
TRUEnever evaluated
FALSEevaluated 74 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-74
310 ERR_put_error(3,(0xfff),(111),__FILE__,395);-
311 err = 1;-
312 }
never executed: end of block
0
313 }
executed 74 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
74
314-
315end:
code before this statement executed 74 times by 2 tests: end:
Executed by:
  • bntest
  • ectest
74
316 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 75 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-75
317 if (ret !=
ret != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
318 ((void *)0)
ret != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
319 && ret != in
ret != inDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
320 BN_clear_free(ret);-
321 }
never executed: end of block
0
322 ret = -
323 ((void *)0)-
324 ;-
325 }
never executed: end of block
0
326 BN_CTX_end(ctx);-
327 ;-
328 return
executed 75 times by 2 tests: return ret;
Executed by:
  • bntest
  • ectest
ret;
executed 75 times by 2 tests: return ret;
Executed by:
  • bntest
  • ectest
75
329}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2