OpenCoverage

bn_gf2m.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_gf2m.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10static const unsigned long SQR_tb[16] =-
11 { 0, 1, 4, 5, 16, 17, 20, 21,-
1264, 65, 68, 69, 80, 81, 84, 85 };-
13void bn_GF2m_mul_2x2(unsigned long *r, unsigned long a1, unsigned long a0, unsigned long b1,-
14 unsigned long b0);-
15-
16-
17-
18-
19-
20int-
21BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)-
22{-
23 int i;-
24 const BIGNUM *at, *bt;-
25-
26 ;-
27 ;-
28-
29 if (a->top < b->top
a->top < b->topDescription
TRUEevaluated 15536 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
FALSEevaluated 1490360 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
15536-1490360
30 at = b;-
31 bt = a;-
32 }
executed 15536 times by 3 tests: end of block
Executed by:
  • bntest
  • ecdsatest
  • ectest
else {
15536
33 at = a;-
34 bt = b;-
35 }
executed 1490360 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1490360
36-
37 if ((((
((at->top) <= (r)->dmax)Description
TRUEevaluated 1505337 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 559 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
(((at->top) <=...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1505896 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
((at->top) <= (r)->dmax)Description
TRUEevaluated 1505337 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 559 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
at->top) <= (r)->dmax)
(((at->top) <=...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1505896 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
((at->top) <= (r)->dmax)Description
TRUEevaluated 1505337 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 559 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
?(r):bn_expand2((r),(at->top))) ==
(((at->top) <=...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1505896 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-1505896
38 ((void *)0)
(((at->top) <=...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1505896 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-1505896
39 )-
40 return
never executed: return 0;
0;
never executed: return 0;
0
41-
42 for (i = 0; i < bt->top
i < bt->topDescription
TRUEevaluated 7327801 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1505896 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++) {
1505896-7327801
43 r->d[i] = at->d[i] ^ bt->d[i];-
44 }
executed 7327801 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
7327801
45 for (; i < at->top
i < at->topDescription
TRUEevaluated 759005 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1505896 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++) {
759005-1505896
46 r->d[i] = at->d[i];-
47 }
executed 759005 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
759005
48-
49 r->top = at->top;-
50 { unsigned long *ftl; int tmp_top = (r)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 1505895 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
) { for (ftl= &((r)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 1524551 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1124 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 1504771 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 19780 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ftl--)
*(ftl--)Description
TRUEevaluated 1504771 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 19780 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) break;
executed 1504771 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
(r)->top = tmp_top; }
executed 1505895 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; };
1-1524551
51-
52 return
executed 1505896 times by 4 tests: return 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1;
executed 1505896 times by 4 tests: return 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1505896
53}-
54int-
55BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[])-
56{-
57 int j, k;-
58 int n, dN, d0, d1;-
59 unsigned long zz, *z;-
60-
61 ;-
62-
63 if (!p[0]
!p[0]Description
TRUEnever evaluated
FALSEevaluated 1399087 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
0-1399087
64-
65 (BN_set_word((r),0));-
66 return
never executed: return 1;
1;
never executed: return 1;
0
67 }-
68-
69-
70-
71-
72 if (a != r
a != rDescription
TRUEevaluated 1399087 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
) {
0-1399087
73 if (!(((
((a->top) <= (r)->dmax)Description
TRUEevaluated 1396997 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 2090 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
a->top) <= (r)->dmax)
((a->top) <= (r)->dmax)Description
TRUEevaluated 1396997 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 2090 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
?(r):bn_expand2((r),(a->top)))
!(((a->top) <=...(r),(a->top)))Description
TRUEnever evaluated
FALSEevaluated 1399087 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-1399087
74 return
never executed: return 0;
0;
never executed: return 0;
0
75 for (j = 0; j < a->top
j < a->topDescription
TRUEevaluated 12036018 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1399087 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; j++) {
1399087-12036018
76 r->d[j] = a->d[j];-
77 }
executed 12036018 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
12036018
78 r->top = a->top;-
79 }
executed 1399087 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1399087
80 z = r->d;-
81-
82-
83 dN = p[0] / 64;-
84 for (j = r->top - 1; j > dN
j > dNDescription
TRUEevaluated 11012238 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1399087 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; ) {
1399087-11012238
85 zz = z[j];-
86 if (z[j] == 0
z[j] == 0Description
TRUEevaluated 5506171 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 5506067 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
5506067-5506171
87 j--;-
88 continue;
executed 5506171 times by 4 tests: continue;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
5506171
89 }-
90 z[j] = 0;-
91-
92 for (k = 1; p[k] != 0
p[k] != 0Description
TRUEevaluated 11527291 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 5506067 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; k++) {
5506067-11527291
93-
94 n = p[0] - p[k];-
95 d0 = n % 64;-
96 d1 = 64 - d0;-
97 n /= 64;-
98 z[j - n] ^= (zz >> d0);-
99 if (d0
d0Description
TRUEevaluated 11524287 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 3004 times by 1 test
Evaluated by:
  • ectest
)
3004-11524287
100 z[j - n - 1] ^= (zz << d1);
executed 11524287 times by 4 tests: z[j - n - 1] ^= (zz << d1);
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
11524287
101 }
executed 11527291 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
11527291
102-
103-
104 n = dN;-
105 d0 = p[0] % 64;-
106 d1 = 64 - d0;-
107 z[j - n] ^= (zz >> d0);-
108 if (d0
d0Description
TRUEevaluated 5506067 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
)
0-5506067
109 z[j - n - 1] ^= (zz << d1);
executed 5506067 times by 4 tests: z[j - n - 1] ^= (zz << d1);
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
5506067
110 }
executed 5506067 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
5506067
111-
112-
113 while (j == dN
j == dNDescription
TRUEevaluated 2552988 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 4096 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
4096-2552988
114-
115 d0 = p[0] % 64;-
116 zz = z[dN] >> d0;-
117 if (zz == 0
zz == 0Description
TRUEevaluated 1394991 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1157997 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
1157997-1394991
118 break;
executed 1394991 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1394991
119 d1 = 64 - d0;-
120-
121-
122 if (d0
d0Description
TRUEevaluated 1157997 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
)
0-1157997
123 z[dN] = (z[dN] << d1) >> d1;
executed 1157997 times by 4 tests: z[dN] = (z[dN] << d1) >> d1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1157997
124 else-
125 z[dN] = 0;
never executed: z[dN] = 0;
0
126 z[0] ^= zz;-
127-
128 for (k = 1; p[k] != 0
p[k] != 0Description
TRUEevaluated 2348515 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1157997 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; k++) {
1157997-2348515
129 unsigned long tmp_ulong;-
130-
131-
132 n = p[k] / 64;-
133 d0 = p[k] % 64;-
134 d1 = 64 - d0;-
135 z[n] ^= (zz << d0);-
136 if (d0
d0Description
TRUEevaluated 2348515 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
&& (
(tmp_ulong = zz >> d1)Description
TRUEevaluated 345056 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
FALSEevaluated 2003459 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
tmp_ulong = zz >> d1)
(tmp_ulong = zz >> d1)Description
TRUEevaluated 345056 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
FALSEevaluated 2003459 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-2348515
137 z[n + 1] ^= tmp_ulong;
executed 345056 times by 3 tests: z[n + 1] ^= tmp_ulong;
Executed by:
  • bntest
  • ecdsatest
  • ectest
345056
138 }
executed 2348515 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
2348515
139-
140-
141 }
executed 1157997 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1157997
142-
143 { unsigned long *ftl; int tmp_top = (r)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 1399049 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 38 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
) { for (ftl= &((r)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 7054109 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 1398849 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 5655260 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ftl--)
*(ftl--)Description
TRUEevaluated 1398849 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 5655260 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) break;
executed 1398849 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
(r)->top = tmp_top; }
executed 1399049 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; };
38-7054109
144 return
executed 1399087 times by 4 tests: return 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1;
executed 1399087 times by 4 tests: return 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1399087
145}-
146-
147-
148-
149-
150-
151-
152-
153int-
154BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p)-
155{-
156 int ret = 0;-
157 int arr[6];-
158-
159 ;-
160 ;-
161 ret = BN_GF2m_poly2arr(p, arr, sizeof(arr) / sizeof(arr[0]));-
162 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 216185 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
|| ret > (int)(sizeof(arr) / sizeof(arr[0]))
ret > (int)(si...izeof(arr[0]))Description
TRUEnever evaluated
FALSEevaluated 216185 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
0-216185
163 ERR_put_error(3,(0xfff),(106),__FILE__,473);-
164 return
never executed: return 0;
0;
never executed: return 0;
0
165 }-
166 ret = BN_GF2m_mod_arr(r, a, arr);-
167 ;-
168 return
executed 216185 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ret;
executed 216185 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
216185
169}-
170-
171-
172-
173-
174-
175int-
176BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[],-
177 BN_CTX *ctx)-
178{-
179 int zlen, i, j, k, ret = 0;-
180 BIGNUM *s;-
181 unsigned long x1, x0, y1, y0, zz[4];-
182-
183 ;-
184 ;-
185-
186 if (a == b
a == bDescription
TRUEnever evaluated
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
0-588270
187 return
never executed: return BN_GF2m_mod_sqr_arr(r, a, p, ctx);
BN_GF2m_mod_sqr_arr(r, a, p, ctx);
never executed: return BN_GF2m_mod_sqr_arr(r, a, p, ctx);
0
188 }-
189-
190 BN_CTX_start(ctx);-
191 if ((
(s = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
s = BN_CTX_get(ctx)) ==
(s = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-588270
192 ((void *)0)
(s = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-588270
193 )-
194 goto
never executed: goto err;
err;
never executed: goto err;
0
195-
196 zlen = a->top + b->top + 4;-
197 if (!(((
((zlen) <= (s)->dmax)Description
TRUEevaluated 587324 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 946 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
zlen) <= (s)->dmax)
((zlen) <= (s)->dmax)Description
TRUEevaluated 587324 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 946 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
?(s):bn_expand2((s),(zlen)))
!(((zlen) <= (...2((s),(zlen)))Description
TRUEnever evaluated
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-588270
198 goto
never executed: goto err;
err;
never executed: goto err;
0
199 s->top = zlen;-
200-
201 for (i = 0; i < zlen
i < zlenDescription
TRUEevaluated 8778821 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++)
588270-8778821
202 s->d[i] = 0;
executed 8778821 times by 4 tests: s->d[i] = 0;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
8778821
203-
204 for (j = 0; j < b->top
j < b->topDescription
TRUEevaluated 1942306 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; j += 2) {
588270-1942306
205 y0 = b->d[j];-
206 y1 = ((
((j + 1) == b->top)Description
TRUEevaluated 300993 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1641313 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
j + 1) == b->top)
((j + 1) == b->top)Description
TRUEevaluated 300993 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1641313 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
? 0 : b->d[j + 1];
300993-1641313
207 for (i = 0; i < a->top
i < a->topDescription
TRUEevaluated 5859259 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1942306 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i += 2) {
1942306-5859259
208 x0 = a->d[i];-
209 x1 = ((
((i + 1) == a->top)Description
TRUEevaluated 1493217 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 4366042 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
i + 1) == a->top)
((i + 1) == a->top)Description
TRUEevaluated 1493217 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 4366042 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
? 0 : a->d[i + 1];
1493217-4366042
210 bn_GF2m_mul_2x2(zz, x1, x0, y1, y0);-
211 for (k = 0; k < 4
k < 4Description
TRUEevaluated 23437036 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 5859259 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; k++)
5859259-23437036
212 s->d[i + j + k] ^= zz[k];
executed 23437036 times by 4 tests: s->d[i + j + k] ^= zz[k];
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
23437036
213 }
executed 5859259 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
5859259
214 }
executed 1942306 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1942306
215-
216 { unsigned long *ftl; int tmp_top = (s)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
) { for (ftl= &((s)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 3109008 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 588268 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 2520740 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ftl--)
*(ftl--)Description
TRUEevaluated 588268 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 2520740 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) break;
executed 588268 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
(s)->top = tmp_top; }
executed 588270 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; };
0-3109008
217 if (BN_GF2m_mod_arr(r, s, p)
BN_GF2m_mod_arr(r, s, p)Description
TRUEevaluated 588270 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
)
0-588270
218 ret = 1;
executed 588270 times by 4 tests: ret = 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
588270
219 ;-
220-
221err:
code before this statement executed 588270 times by 4 tests: err:
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
588270
222 BN_CTX_end(ctx);-
223 return
executed 588270 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ret;
executed 588270 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
588270
224}-
225int-
226BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p,-
227 BN_CTX *ctx)-
228{-
229 int ret = 0;-
230 const int max = BN_num_bits(p) + 1;-
231 int *arr = -
232 ((void *)0)-
233 ;-
234-
235 ;-
236 ;-
237 ;-
238 if ((
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
arr = reallocarray(
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-216677
239 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-216677
240 , max, sizeof(int))) ==
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-216677
241 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-216677
242 )-
243 goto
never executed: goto err;
err;
never executed: goto err;
0
244 ret = BN_GF2m_poly2arr(p, arr, max);-
245 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
|| ret > max
ret > maxDescription
TRUEnever evaluated
FALSEevaluated 216677 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
0-216677
246 ERR_put_error(3,(0xfff),(106),__FILE__,556);-
247 goto
never executed: goto err;
err;
never executed: goto err;
0
248 }-
249 ret = BN_GF2m_mod_mul_arr(r, a, b, arr, ctx);-
250 ;-
251-
252err:
code before this statement executed 216677 times by 4 tests: err:
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
216677
253 free(arr);-
254 return
executed 216677 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ret;
executed 216677 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
216677
255}-
256-
257-
258-
259int-
260BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx)-
261{-
262 int i, ret = 0;-
263 BIGNUM *s;-
264-
265 ;-
266 BN_CTX_start(ctx);-
267 if ((
(s = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
s = BN_CTX_get(ctx)) ==
(s = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-593294
268 ((void *)0)
(s = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-593294
269 )-
270 goto
never executed: goto err;
err;
never executed: goto err;
0
271 if (!(((
((2 * a->top) <= (s)->dmax)Description
TRUEevaluated 592955 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 339 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
2 * a->top) <= (s)->dmax)
((2 * a->top) <= (s)->dmax)Description
TRUEevaluated 592955 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 339 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
?(s):bn_expand2((s),(2 * a->top)))
!(((2 * a->top...(2 * a->top)))Description
TRUEnever evaluated
FALSEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-593294
272 goto
never executed: goto err;
err;
never executed: goto err;
0
273-
274 for (i = a->top - 1; i >= 0
i >= 0Description
TRUEevaluated 2390855 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i--) {
593294-2390855
275 s->d[2 * i + 1] = SQR_tb[(a->d[i]) >> 60 & 0xF] << 56 | SQR_tb[(a->d[i]) >> 56 & 0xF] << 48 | SQR_tb[(a->d[i]) >> 52 & 0xF] << 40 | SQR_tb[(a->d[i]) >> 48 & 0xF] << 32 | SQR_tb[(a->d[i]) >> 44 & 0xF] << 24 | SQR_tb[(a->d[i]) >> 40 & 0xF] << 16 | SQR_tb[(a->d[i]) >> 36 & 0xF] << 8 | SQR_tb[(a->d[i]) >> 32 & 0xF];-
276 s->d[2 * i] = SQR_tb[(a->d[i]) >> 28 & 0xF] << 56 | SQR_tb[(a->d[i]) >> 24 & 0xF] << 48 | SQR_tb[(a->d[i]) >> 20 & 0xF] << 40 | SQR_tb[(a->d[i]) >> 16 & 0xF] << 32 | SQR_tb[(a->d[i]) >> 12 & 0xF] << 24 | SQR_tb[(a->d[i]) >> 8 & 0xF] << 16 | SQR_tb[(a->d[i]) >> 4 & 0xF] << 8 | SQR_tb[(a->d[i]) & 0xF];-
277 }
executed 2390855 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
2390855
278-
279 s->top = 2 * a->top;-
280 { unsigned long *ftl; int tmp_top = (s)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
) { for (ftl= &((s)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 775348 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 182054 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ftl--)
*(ftl--)Description
TRUEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 182054 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) break;
executed 593294 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
(s)->top = tmp_top; }
executed 593294 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; };
0-775348
281 if (!BN_GF2m_mod_arr(r, s, p)
!BN_GF2m_mod_arr(r, s, p)Description
TRUEnever evaluated
FALSEevaluated 593294 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-593294
282 goto
never executed: goto err;
err;
never executed: goto err;
0
283 ;-
284 ret = 1;-
285-
286err:
code before this statement executed 593294 times by 4 tests: err:
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
593294
287 BN_CTX_end(ctx);-
288 return
executed 593294 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ret;
executed 593294 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
593294
289}-
290-
291-
292-
293-
294-
295-
296-
297int-
298BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)-
299{-
300 int ret = 0;-
301 const int max = BN_num_bits(p) + 1;-
302 int *arr = -
303 ((void *)0)-
304 ;-
305-
306 ;-
307 ;-
308 if ((
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
arr = reallocarray(
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
0-508
309 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
0-508
310 , max, sizeof(int))) ==
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
0-508
311 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
0-508
312 )-
313 goto
never executed: goto err;
err;
never executed: goto err;
0
314 ret = BN_GF2m_poly2arr(p, arr, max);-
315 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
|| ret > max
ret > maxDescription
TRUEnever evaluated
FALSEevaluated 508 times by 1 test
Evaluated by:
  • bntest
) {
0-508
316 ERR_put_error(3,(0xfff),(106),__FILE__,618);-
317 goto
never executed: goto err;
err;
never executed: goto err;
0
318 }-
319 ret = BN_GF2m_mod_sqr_arr(r, a, arr, ctx);-
320 ;-
321-
322err:
code before this statement executed 508 times by 1 test: err:
Executed by:
  • bntest
508
323 free(arr);-
324 return
executed 508 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 508 times by 1 test: return ret;
Executed by:
  • bntest
508
325}-
326-
327-
328-
329-
330-
331-
332-
333int-
334BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)-
335{-
336 BIGNUM *b, *c = -
337 ((void *)0)-
338 , *u = -
339 ((void *)0)-
340 , *v = -
341 ((void *)0)-
342 , *tmp;-
343 int ret = 0;-
344-
345 ;-
346 ;-
347-
348 BN_CTX_start(ctx);-
349-
350 if ((
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
b = BN_CTX_get(ctx)) ==
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
351 ((void *)0)
(b = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
352 )-
353 goto
never executed: goto err;
err;
never executed: goto err;
0
354 if ((
(c = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
c = BN_CTX_get(ctx)) ==
(c = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
355 ((void *)0)
(c = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
356 )-
357 goto
never executed: goto err;
err;
never executed: goto err;
0
358 if ((
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
u = BN_CTX_get(ctx)) ==
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
359 ((void *)0)
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
360 )-
361 goto
never executed: goto err;
err;
never executed: goto err;
0
362 if ((
(v = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
v = BN_CTX_get(ctx)) ==
(v = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
363 ((void *)0)
(v = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215477
364 )-
365 goto
never executed: goto err;
err;
never executed: goto err;
0
366-
367 if (!BN_GF2m_mod(u, a, p)
!BN_GF2m_mod(u, a, p)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
368 goto
never executed: goto err;
err;
never executed: goto err;
0
369 if (((
((u)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
u)->top == 0)
((u)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
370 goto
never executed: goto err;
err;
never executed: goto err;
0
371-
372 if (!BN_copy(v, p)
!BN_copy(v, p)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
373 goto
never executed: goto err;
err;
never executed: goto err;
0
374 {-
375 int i, ubits = BN_num_bits(u),-
376 vbits = BN_num_bits(v),-
377 top = p->top;-
378 unsigned long *udp, *bdp, *vdp, *cdp;-
379-
380 if (!(((
((top) <= (u)->dmax)Description
TRUEevaluated 215465 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • ecdsatest
  • ectest
top) <= (u)->dmax)
((top) <= (u)->dmax)Description
TRUEevaluated 215465 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • ecdsatest
  • ectest
?(u):bn_expand2((u),(top)))
!(((top) <= (u...d2((u),(top)))Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
381 goto
never executed: goto err;
err;
never executed: goto err;
0
382 udp = u->d;-
383 for (i = u->top; i < top
i < topDescription
TRUEevaluated 4046 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++)
4046-215477
384 udp[i] = 0;
executed 4046 times by 3 tests: udp[i] = 0;
Executed by:
  • bntest
  • ecdsatest
  • ectest
4046
385 u->top = top;-
386 if (!(((
((top) <= (b)->dmax)Description
TRUEevaluated 215248 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 229 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
top) <= (b)->dmax)
((top) <= (b)->dmax)Description
TRUEevaluated 215248 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 229 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
?(b):bn_expand2((b),(top)))
!(((top) <= (b...d2((b),(top)))Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
387 goto
never executed: goto err;
err;
never executed: goto err;
0
388 bdp = b->d;-
389 bdp[0] = 1;-
390 for (i = 1; i < top
i < topDescription
TRUEevaluated 947175 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++)
215477-947175
391 bdp[i] = 0;
executed 947175 times by 4 tests: bdp[i] = 0;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
947175
392 b->top = top;-
393 if (!(((
((top) <= (c)->dmax)Description
TRUEevaluated 215079 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 398 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
top) <= (c)->dmax)
((top) <= (c)->dmax)Description
TRUEevaluated 215079 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 398 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
?(c):bn_expand2((c),(top)))
!(((top) <= (c...d2((c),(top)))Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
394 goto
never executed: goto err;
err;
never executed: goto err;
0
395 cdp = c->d;-
396 for (i = 0; i < top
i < topDescription
TRUEevaluated 1162652 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++)
215477-1162652
397 cdp[i] = 0;
executed 1162652 times by 4 tests: cdp[i] = 0;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1162652
398 c->top = top;-
399 vdp = v->d;-
400-
401-
402-
403 while (1) {-
404 while (ubits
ubitsDescription
TRUEevaluated 171940353 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
&& !(udp[0]&1)
!(udp[0]&1)Description
TRUEevaluated 114536659 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 57403694 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
0-171940353
405 unsigned long u0, u1, b0, b1, mask;-
406-
407 u0 = udp[0];-
408 b0 = bdp[0];-
409 mask = (unsigned long)0 - (b0 & 1);-
410 b0 ^= p->d[0] & mask;-
411 for (i = 0; i < top - 1
i < top - 1Description
TRUEevaluated 609490484 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 114536659 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++) {
114536659-609490484
412 u1 = udp[i + 1];-
413 udp[i] = ((u0 >> 1) |-
414 (u1 << (64 - 1))) & (0xffffffffffffffffL);-
415 u0 = u1;-
416 b1 = bdp[i + 1] ^ (p->d[i + 1] & mask);-
417 bdp[i] = ((b0 >> 1) |-
418 (b1 << (64 - 1))) & (0xffffffffffffffffL);-
419 b0 = b1;-
420 }
executed 609490484 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
609490484
421 udp[i] = u0 >> 1;-
422 bdp[i] = b0 >> 1;-
423 ubits--;-
424 }
executed 114536659 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
114536659
425-
426 if (ubits <= 64
ubits <= 64Description
TRUEevaluated 11250304 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 46153390 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
11250304-46153390
427-
428 if (udp[0] == 0
udp[0] == 0Description
TRUEnever evaluated
FALSEevaluated 11250304 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-11250304
429 goto
never executed: goto err;
err;
never executed: goto err;
0
430 if (udp[0] == 1
udp[0] == 1Description
TRUEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 11034827 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
215477-11034827
431 break;
executed 215477 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
215477
432 }
executed 11034827 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
11034827
433-
434 if (ubits < vbits
ubits < vbitsDescription
TRUEevaluated 22942687 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 34245530 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
22942687-34245530
435 i = ubits;-
436 ubits = vbits;-
437 vbits = i;-
438 tmp = u;-
439 u = v;-
440 v = tmp;-
441 tmp = b;-
442 b = c;-
443 c = tmp;-
444 udp = vdp;-
445 vdp = v->d;-
446 bdp = cdp;-
447 cdp = c->d;-
448 }
executed 22942687 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
22942687
449 for (i = 0; i < top
i < topDescription
TRUEevaluated 361584547 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 57188217 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i++) {
57188217-361584547
450 udp[i] ^= vdp[i];-
451 bdp[i] ^= cdp[i];-
452 }
executed 361584547 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
361584547
453 if (ubits == vbits
ubits == vbitsDescription
TRUEevaluated 11435608 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 45752609 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
11435608-45752609
454 unsigned long ul;-
455 int utop = (ubits - 1) / 64;-
456-
457 while ((
(ul = udp[utop]) == 0Description
TRUEevaluated 313545 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 11435608 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ul = udp[utop]) == 0
(ul = udp[utop]) == 0Description
TRUEevaluated 313545 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 11435608 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
&& utop
utopDescription
TRUEevaluated 313545 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
)
0-11435608
458 utop--;
executed 313545 times by 4 tests: utop--;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
313545
459 ubits = utop*64 + BN_num_bits_word(ul);-
460 }
executed 11435608 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
11435608
461 }
executed 57188217 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
57188217
462 { unsigned long *ftl; int tmp_top = (b)->top; if (tmp_top > 0
tmp_top > 0Description
TRUEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
) { for (ftl= &((b)->d[tmp_top-1]); tmp_top > 0
tmp_top > 0Description
TRUEevaluated 219393 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
; tmp_top--) if (*(
*(ftl--)Description
TRUEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 3916 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
ftl--)
*(ftl--)Description
TRUEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 3916 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
) break;
executed 215477 times by 4 tests: break;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
(b)->top = tmp_top; }
executed 215477 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; };
0-219393
463 }-
464-
465-
466 if (!BN_copy(r, b)
!BN_copy(r, b)Description
TRUEnever evaluated
FALSEevaluated 215477 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215477
467 goto
never executed: goto err;
err;
never executed: goto err;
0
468 ;-
469 ret = 1;-
470-
471err:
code before this statement executed 215477 times by 4 tests: err:
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
215477
472-
473-
474-
475-
476-
477 BN_CTX_end(ctx);-
478 return
executed 215477 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ret;
executed 215477 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
215477
479}-
480-
481-
482-
483-
484-
485-
486-
487int-
488BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *xx, const int p[], BN_CTX *ctx)-
489{-
490 BIGNUM *field;-
491 int ret = 0;-
492-
493 ;-
494 BN_CTX_start(ctx);-
495 if ((
(field = BN_CT...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
field = BN_CTX_get(ctx)) ==
(field = BN_CT...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
496 ((void *)0)
(field = BN_CT...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
497 )-
498 goto
never executed: goto err;
err;
never executed: goto err;
0
499 if (!BN_GF2m_arr2poly(p, field)
!BN_GF2m_arr2poly(p, field)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
500 goto
never executed: goto err;
err;
never executed: goto err;
0
501-
502 ret = BN_GF2m_mod_inv(r, xx, field, ctx);-
503 ;-
504-
505err:
code before this statement never executed: err:
0
506 BN_CTX_end(ctx);-
507 return
never executed: return ret;
ret;
never executed: return ret;
0
508}-
509-
510-
511-
512-
513-
514-
515int-
516BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *y, const BIGNUM *x, const BIGNUM *p,-
517 BN_CTX *ctx)-
518{-
519 BIGNUM *xinv = -
520 ((void *)0)-
521 ;-
522 int ret = 0;-
523-
524 ;-
525 ;-
526 ;-
527-
528 BN_CTX_start(ctx);-
529 if ((
(xinv = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215277 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
xinv = BN_CTX_get(ctx)) ==
(xinv = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215277 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215277
530 ((void *)0)
(xinv = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 215277 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
0-215277
531 )-
532 goto
never executed: goto err;
err;
never executed: goto err;
0
533-
534 if (!BN_GF2m_mod_inv(xinv, x, p, ctx)
!BN_GF2m_mod_i...nv, x, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 215277 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215277
535 goto
never executed: goto err;
err;
never executed: goto err;
0
536 if (!BN_GF2m_mod_mul(r, y, xinv, p, ctx)
!BN_GF2m_mod_m... xinv, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 215277 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-215277
537 goto
never executed: goto err;
err;
never executed: goto err;
0
538 ;-
539 ret = 1;-
540-
541err:
code before this statement executed 215277 times by 4 tests: err:
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
215277
542 BN_CTX_end(ctx);-
543 return
executed 215277 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
ret;
executed 215277 times by 4 tests: return ret;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
215277
544}-
545int-
546BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *yy, const BIGNUM *xx,-
547 const int p[], BN_CTX *ctx)-
548{-
549 BIGNUM *field;-
550 int ret = 0;-
551-
552 ;-
553 ;-
554-
555 BN_CTX_start(ctx);-
556 if ((
(field = BN_CT...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
field = BN_CTX_get(ctx)) ==
(field = BN_CT...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
557 ((void *)0)
(field = BN_CT...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
558 )-
559 goto
never executed: goto err;
err;
never executed: goto err;
0
560 if (!BN_GF2m_arr2poly(p, field)
!BN_GF2m_arr2poly(p, field)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
561 goto
never executed: goto err;
err;
never executed: goto err;
0
562-
563 ret = BN_GF2m_mod_div(r, yy, xx, field, ctx);-
564 ;-
565-
566err:
code before this statement never executed: err:
0
567 BN_CTX_end(ctx);-
568 return
never executed: return ret;
ret;
never executed: return ret;
0
569}-
570-
571-
572-
573-
574-
575-
576int-
577BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const int p[],-
578 BN_CTX *ctx)-
579{-
580 int ret = 0, i, n;-
581 BIGNUM *u;-
582-
583 ;-
584 ;-
585-
586 if (((
((b)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
b)->top == 0)
((b)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
)
0-800
587 return
never executed: return ((BN_set_word((r),1)));
((BN_set_word((r),1)));
never executed: return ((BN_set_word((r),1)));
0
588-
589 if (((((
((b)->top == 1)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
b)->top == 1)
((b)->top == 1)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
&& ((
((b)->d[0] == ...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
b)->d[0] == (unsigned long)(1))
((b)->d[0] == ...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
&& ((
((b)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
b)->top == 0)
((b)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)))
0-800
590 return
never executed: return (BN_copy(r, a) != ((void *)0) );
(BN_copy(r, a) !=
never executed: return (BN_copy(r, a) != ((void *)0) );
0
591 ((void *)0)
never executed: return (BN_copy(r, a) != ((void *)0) );
0
592 );
never executed: return (BN_copy(r, a) != ((void *)0) );
0
593-
594 BN_CTX_start(ctx);-
595 if ((
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
u = BN_CTX_get(ctx)) ==
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
0-800
596 ((void *)0)
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
0-800
597 )-
598 goto
never executed: goto err;
err;
never executed: goto err;
0
599-
600 if (!BN_GF2m_mod_arr(u, a, p)
!BN_GF2m_mod_arr(u, a, p)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
)
0-800
601 goto
never executed: goto err;
err;
never executed: goto err;
0
602-
603 n = BN_num_bits(b) - 1;-
604 for (i = n - 1; i >= 0
i >= 0Description
TRUEevaluated 342200 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
; i--) {
800-342200
605 if (!BN_GF2m_mod_sqr_arr(u, u, p, ctx)
!BN_GF2m_mod_s...(u, u, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 342200 times by 1 test
Evaluated by:
  • bntest
)
0-342200
606 goto
never executed: goto err;
err;
never executed: goto err;
0
607 if (BN_is_bit_set(b, i)
BN_is_bit_set(b, i)Description
TRUEevaluated 156498 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 185702 times by 1 test
Evaluated by:
  • bntest
) {
156498-185702
608 if (!BN_GF2m_mod_mul_arr(u, u, a, p, ctx)
!BN_GF2m_mod_m... u, a, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 156498 times by 1 test
Evaluated by:
  • bntest
)
0-156498
609 goto
never executed: goto err;
err;
never executed: goto err;
0
610 }
executed 156498 times by 1 test: end of block
Executed by:
  • bntest
156498
611 }
executed 342200 times by 1 test: end of block
Executed by:
  • bntest
342200
612 if (!BN_copy(r, u)
!BN_copy(r, u)Description
TRUEnever evaluated
FALSEevaluated 800 times by 1 test
Evaluated by:
  • bntest
)
0-800
613 goto
never executed: goto err;
err;
never executed: goto err;
0
614 ;-
615 ret = 1;-
616-
617err:
code before this statement executed 800 times by 1 test: err:
Executed by:
  • bntest
800
618 BN_CTX_end(ctx);-
619 return
executed 800 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 800 times by 1 test: return ret;
Executed by:
  • bntest
800
620}-
621int-
622BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *p,-
623 BN_CTX *ctx)-
624{-
625 int ret = 0;-
626 const int max = BN_num_bits(p) + 1;-
627 int *arr = -
628 ((void *)0)-
629 ;-
630-
631 ;-
632 ;-
633 ;-
634 if ((
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
arr = reallocarray(
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
0-600
635 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
0-600
636 , max, sizeof(int))) ==
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
0-600
637 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
0-600
638 )-
639 goto
never executed: goto err;
err;
never executed: goto err;
0
640 ret = BN_GF2m_poly2arr(p, arr, max);-
641 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
|| ret > max
ret > maxDescription
TRUEnever evaluated
FALSEevaluated 600 times by 1 test
Evaluated by:
  • bntest
) {
0-600
642 ERR_put_error(3,(0xfff),(106),__FILE__,1055);-
643 goto
never executed: goto err;
err;
never executed: goto err;
0
644 }-
645 ret = BN_GF2m_mod_exp_arr(r, a, b, arr, ctx);-
646 ;-
647-
648err:
code before this statement executed 600 times by 1 test: err:
Executed by:
  • bntest
600
649 free(arr);-
650 return
executed 600 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 600 times by 1 test: return ret;
Executed by:
  • bntest
600
651}-
652-
653-
654-
655-
656-
657int-
658BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, const int p[], BN_CTX *ctx)-
659{-
660 int ret = 0;-
661 BIGNUM *u;-
662-
663 ;-
664-
665 if (!p[0]
!p[0]Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
) {
0-200
666-
667 (BN_set_word((r),0));-
668 return
never executed: return 1;
1;
never executed: return 1;
0
669 }-
670-
671 BN_CTX_start(ctx);-
672 if ((
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
u = BN_CTX_get(ctx)) ==
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
673 ((void *)0)
(u = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
674 )-
675 goto
never executed: goto err;
err;
never executed: goto err;
0
676-
677 if (!BN_set_bit(u, p[0] - 1)
!BN_set_bit(u, p[0] - 1)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
)
0-200
678 goto
never executed: goto err;
err;
never executed: goto err;
0
679 ret = BN_GF2m_mod_exp_arr(r, a, u, p, ctx);-
680 ;-
681-
682err:
code before this statement executed 200 times by 1 test: err:
Executed by:
  • bntest
200
683 BN_CTX_end(ctx);-
684 return
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
200
685}-
686int-
687BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)-
688{-
689 int ret = 0;-
690 const int max = BN_num_bits(p) + 1;-
691 int *arr = -
692 ((void *)0)-
693 ;-
694 ;-
695 ;-
696 if ((
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
arr = reallocarray(
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
697 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
698 , max, sizeof(int))) ==
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
699 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
700 )-
701 goto
never executed: goto err;
err;
never executed: goto err;
0
702 ret = BN_GF2m_poly2arr(p, arr, max);-
703 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
|| ret > max
ret > maxDescription
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
) {
0-200
704 ERR_put_error(3,(0xfff),(106),__FILE__,1117);-
705 goto
never executed: goto err;
err;
never executed: goto err;
0
706 }-
707 ret = BN_GF2m_mod_sqrt_arr(r, a, arr, ctx);-
708 ;-
709-
710err:
code before this statement executed 200 times by 1 test: err:
Executed by:
  • bntest
200
711 free(arr);-
712 return
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
200
713}-
714-
715-
716-
717-
718int-
719BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a_, const int p[],-
720 BN_CTX *ctx)-
721{-
722 int ret = 0, count = 0, j;-
723 BIGNUM *a, *z, *rho, *w, *w2, *tmp;-
724-
725 ;-
726-
727 if (!p[0]
!p[0]Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
) {
0-200
728-
729 (BN_set_word((r),0));-
730 return
never executed: return 1;
1;
never executed: return 1;
0
731 }-
732-
733 BN_CTX_start(ctx);-
734 if ((
(a = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
a = BN_CTX_get(ctx)) ==
(a = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
735 ((void *)0)
(a = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
736 )-
737 goto
never executed: goto err;
err;
never executed: goto err;
0
738 if ((
(z = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
z = BN_CTX_get(ctx)) ==
(z = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
739 ((void *)0)
(z = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
740 )-
741 goto
never executed: goto err;
err;
never executed: goto err;
0
742 if ((
(w = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
w = BN_CTX_get(ctx)) ==
(w = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
743 ((void *)0)
(w = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
744 )-
745 goto
never executed: goto err;
err;
never executed: goto err;
0
746-
747 if (!BN_GF2m_mod_arr(a, a_, p)
!BN_GF2m_mod_arr(a, a_, p)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
)
0-200
748 goto
never executed: goto err;
err;
never executed: goto err;
0
749-
750 if (((
((a)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
a)->top == 0)
((a)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
) {
0-200
751 (BN_set_word((r),0));-
752 ret = 1;-
753 goto
never executed: goto err;
err;
never executed: goto err;
0
754 }-
755-
756 if (p[0] & 0x1
p[0] & 0x1Description
TRUEevaluated 200 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
)
0-200
757 {-
758-
759 if (!BN_copy(z, a)
!BN_copy(z, a)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
)
0-200
760 goto
never executed: goto err;
err;
never executed: goto err;
0
761 for (j = 1; j <= (p[0] - 1) / 2
j <= (p[0] - 1) / 2Description
TRUEevaluated 17700 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
; j++) {
200-17700
762 if (!BN_GF2m_mod_sqr_arr(z, z, p, ctx)
!BN_GF2m_mod_s...(z, z, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 17700 times by 1 test
Evaluated by:
  • bntest
)
0-17700
763 goto
never executed: goto err;
err;
never executed: goto err;
0
764 if (!BN_GF2m_mod_sqr_arr(z, z, p, ctx)
!BN_GF2m_mod_s...(z, z, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 17700 times by 1 test
Evaluated by:
  • bntest
)
0-17700
765 goto
never executed: goto err;
err;
never executed: goto err;
0
766 if (!BN_GF2m_add(z, z, a)
!BN_GF2m_add(z, z, a)Description
TRUEnever evaluated
FALSEevaluated 17700 times by 1 test
Evaluated by:
  • bntest
)
0-17700
767 goto
never executed: goto err;
err;
never executed: goto err;
0
768 }
executed 17700 times by 1 test: end of block
Executed by:
  • bntest
17700
769-
770 }
executed 200 times by 1 test: end of block
Executed by:
  • bntest
200
771 else-
772 {-
773 if ((
(rho = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rho = BN_CTX_get(ctx)) ==
(rho = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
774 ((void *)0)
(rho = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
775 )-
776 goto
never executed: goto err;
err;
never executed: goto err;
0
777 if ((
(w2 = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
w2 = BN_CTX_get(ctx)) ==
(w2 = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
778 ((void *)0)
(w2 = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
779 )-
780 goto
never executed: goto err;
err;
never executed: goto err;
0
781 if ((
(tmp = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp = BN_CTX_get(ctx)) ==
(tmp = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
782 ((void *)0)
(tmp = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
783 )-
784 goto
never executed: goto err;
err;
never executed: goto err;
0
785 do {-
786 if (!BN_rand(rho, p[0], 0, 0)
!BN_rand(rho, p[0], 0, 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
787 goto
never executed: goto err;
err;
never executed: goto err;
0
788 if (!BN_GF2m_mod_arr(rho, rho, p)
!BN_GF2m_mod_arr(rho, rho, p)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
789 goto
never executed: goto err;
err;
never executed: goto err;
0
790 (BN_set_word((z),0));-
791 if (!BN_copy(w, rho)
!BN_copy(w, rho)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
792 goto
never executed: goto err;
err;
never executed: goto err;
0
793 for (j = 1; j <= p[0] - 1
j <= p[0] - 1Description
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
794 if (!BN_GF2m_mod_sqr_arr(z, z, p, ctx)
!BN_GF2m_mod_s...(z, z, p, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
795 goto
never executed: goto err;
err;
never executed: goto err;
0
796 if (!BN_GF2m_mod_sqr_arr(w2, w, p, ctx)
!BN_GF2m_mod_s...w2, w, p, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
797 goto
never executed: goto err;
err;
never executed: goto err;
0
798 if (!BN_GF2m_mod_mul_arr(tmp, w2, a, p, ctx)
!BN_GF2m_mod_m...w2, a, p, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
799 goto
never executed: goto err;
err;
never executed: goto err;
0
800 if (!BN_GF2m_add(z, z, tmp)
!BN_GF2m_add(z, z, tmp)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
801 goto
never executed: goto err;
err;
never executed: goto err;
0
802 if (!BN_GF2m_add(w, w2, rho)
!BN_GF2m_add(w, w2, rho)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
803 goto
never executed: goto err;
err;
never executed: goto err;
0
804 }
never executed: end of block
0
805 count++;-
806 }
never executed: end of block
while (((
((w)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
w)->top == 0)
((w)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(count < 50)Description
TRUEnever evaluated
FALSEnever evaluated
count < 50)
(count < 50)Description
TRUEnever evaluated
FALSEnever evaluated
);
0
807 if (((
((w)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
w)->top == 0)
((w)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
808 ERR_put_error(3,(0xfff),(113),__FILE__,1209);-
809 goto
never executed: goto err;
err;
never executed: goto err;
0
810 }-
811 }
never executed: end of block
0
812-
813 if (!BN_GF2m_mod_sqr_arr(w, z, p, ctx)
!BN_GF2m_mod_s...(w, z, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
)
0-200
814 goto
never executed: goto err;
err;
never executed: goto err;
0
815 if (!BN_GF2m_add(w, z, w)
!BN_GF2m_add(w, z, w)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
)
0-200
816 goto
never executed: goto err;
err;
never executed: goto err;
0
817 if (BN_ucmp((w), (a))
BN_ucmp((w), (a))Description
TRUEevaluated 92 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 108 times by 1 test
Evaluated by:
  • bntest
) {
92-108
818 ERR_put_error(3,(0xfff),(116),__FILE__,1219);-
819 goto
executed 92 times by 1 test: goto err;
Executed by:
  • bntest
err;
executed 92 times by 1 test: goto err;
Executed by:
  • bntest
92
820 }-
821-
822 if (!BN_copy(r, z)
!BN_copy(r, z)Description
TRUEnever evaluated
FALSEevaluated 108 times by 1 test
Evaluated by:
  • bntest
)
0-108
823 goto
never executed: goto err;
err;
never executed: goto err;
0
824 ;-
825-
826 ret = 1;-
827-
828err:
code before this statement executed 108 times by 1 test: err:
Executed by:
  • bntest
108
829 BN_CTX_end(ctx);-
830 return
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
200
831}-
832-
833-
834-
835-
836-
837-
838-
839int-
840BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)-
841{-
842 int ret = 0;-
843 const int max = BN_num_bits(p) + 1;-
844 int *arr = -
845 ((void *)0)-
846 ;-
847-
848 ;-
849 ;-
850 if ((
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
arr = reallocarray(
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
851 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
852 , max, sizeof(int))) ==
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
853 ((void *)0)
(arr = realloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
0-200
854 )-
855 goto
never executed: goto err;
err;
never executed: goto err;
0
856 ret = BN_GF2m_poly2arr(p, arr, max);-
857 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
|| ret > max
ret > maxDescription
TRUEnever evaluated
FALSEevaluated 200 times by 1 test
Evaluated by:
  • bntest
) {
0-200
858 ERR_put_error(3,(0xfff),(106),__FILE__,1253);-
859 goto
never executed: goto err;
err;
never executed: goto err;
0
860 }-
861 ret = BN_GF2m_mod_solve_quad_arr(r, a, arr, ctx);-
862 ;-
863-
864err:
code before this statement executed 200 times by 1 test: err:
Executed by:
  • bntest
200
865 free(arr);-
866 return
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 200 times by 1 test: return ret;
Executed by:
  • bntest
200
867}-
868-
869-
870-
871-
872-
873-
874-
875int-
876BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max)-
877{-
878 int i, j, k = 0;-
879 unsigned long mask;-
880-
881 if (((
((a)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 434518 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
a)->top == 0)
((a)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 434518 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
0-434518
882 return
never executed: return 0;
0;
never executed: return 0;
0
883-
884 for (i = a->top - 1; i >= 0
i >= 0Description
TRUEevaluated 2337915 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 434518 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; i--) {
434518-2337915
885 if (!a->d[i]
!a->d[i]Description
TRUEevaluated 1305810 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1032105 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
)
1032105-1305810
886-
887 continue;
executed 1305810 times by 4 tests: continue;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1305810
888 mask = (0x8000000000000000L);-
889 for (j = 64 - 1; j >= 0
j >= 0Description
TRUEevaluated 66054720 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 1032105 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
; j--) {
1032105-66054720
890 if (a->d[i] & mask
a->d[i] & maskDescription
TRUEevaluated 1751340 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 64303380 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
) {
1751340-64303380
891 if (k < max
k < maxDescription
TRUEevaluated 1751340 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
)
0-1751340
892 p[k] = 64 * i + j;
executed 1751340 times by 4 tests: p[k] = 64 * i + j;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1751340
893 k++;-
894 }
executed 1751340 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1751340
895 mask >>= 1;-
896 }
executed 66054720 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
66054720
897 }
executed 1032105 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
1032105
898-
899 if (k < max
k < maxDescription
TRUEevaluated 434518 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEnever evaluated
) {
0-434518
900 p[k] = -1;-
901 k++;-
902 }
executed 434518 times by 4 tests: end of block
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
434518
903-
904 return
executed 434518 times by 4 tests: return k;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
k;
executed 434518 times by 4 tests: return k;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
434518
905}-
906-
907-
908-
909-
910int-
911BN_GF2m_arr2poly(const int p[], BIGNUM *a)-
912{-
913 int i;-
914-
915 ;-
916 (BN_set_word((a),0));-
917 for (i = 0; p[i] != -1
p[i] != -1Description
TRUEevaluated 64 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 16 times by 1 test
Evaluated by:
  • bntest
; i++) {
16-64
918 if (BN_set_bit(a, p[i]) == 0
BN_set_bit(a, p[i]) == 0Description
TRUEnever evaluated
FALSEevaluated 64 times by 1 test
Evaluated by:
  • bntest
)
0-64
919 return
never executed: return 0;
0;
never executed: return 0;
0
920 }
executed 64 times by 1 test: end of block
Executed by:
  • bntest
64
921 ;-
922-
923 return
executed 16 times by 1 test: return 1;
Executed by:
  • bntest
1;
executed 16 times by 1 test: return 1;
Executed by:
  • bntest
16
924}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2