OpenCoverage

bn_kron.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_kron.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6int-
7BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)-
8{-
9 int i;-
10 int ret = -2;-
11 int err = 0;-
12 BIGNUM *A, *B, *tmp;-
13-
14-
15-
16-
17-
18-
19-
20 static const int tab[8] = {0, 1, 0, -1, 0, -1, 0, 1};-
21-
22 ;-
23 ;-
24-
25 BN_CTX_start(ctx);-
26 if ((
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
A = BN_CTX_get(ctx)) ==
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-140
27 ((void *)0)
(A = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-140
28 )-
29 goto
never executed: goto end;
end;
never executed: goto end;
0
30 if ((
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
B = BN_CTX_get(ctx)) ==
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-140
31 ((void *)0)
(B = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-140
32 )-
33 goto
never executed: goto end;
end;
never executed: goto end;
0
34-
35 err = !BN_copy(A, a);-
36 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-140
37 goto
never executed: goto end;
end;
never executed: goto end;
0
38 err = !BN_copy(B, b);-
39 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-140
40 goto
never executed: goto end;
end;
never executed: goto end;
0
41 if (((
((B)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
B)->top == 0)
((B)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-140
42 ret = ((((
((A)->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
A)->top == 1)
((A)->top == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((A)->d[0] == ...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
A)->d[0] == (unsigned long)(1))
((A)->d[0] == ...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((A)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
A)->top == 0)
((A)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
));
0
43 goto
never executed: goto end;
end;
never executed: goto end;
0
44 }-
45-
46-
47-
48 if (!(((
((A)->top > 0)Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
A)->top > 0)
((A)->top > 0)Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
&& ((
((A)->d[0] & 1)Description
TRUEevaluated 69 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 71 times by 2 tests
Evaluated by:
  • bntest
  • ectest
A)->d[0] & 1)
((A)->d[0] & 1)Description
TRUEevaluated 69 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 71 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) && !(((
((B)->top > 0)Description
TRUEevaluated 71 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
B)->top > 0)
((B)->top > 0)Description
TRUEevaluated 71 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
&& ((
((B)->d[0] & 1)Description
TRUEevaluated 71 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
B)->d[0] & 1)
((B)->d[0] & 1)Description
TRUEevaluated 71 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
)) {
0-140
49 ret = 0;-
50 goto
never executed: goto end;
end;
never executed: goto end;
0
51 }-
52-
53-
54 i = 0;-
55 while (!BN_is_bit_set(B, i)
!BN_is_bit_set(B, i)Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-140
56 i++;
never executed: i++;
0
57 err = !BN_rshift(B, B, i);-
58 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-140
59 goto
never executed: goto end;
end;
never executed: goto end;
0
60 if (i & 1
i & 1Description
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
0-140
61-
62-
63-
64-
65 ret = tab[(((A)->top == 0) ? (unsigned long) 0 : (A)->d[0]) & 7];-
66 }
never executed: end of block
else {
0
67-
68 ret = 1;-
69 }
executed 140 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
140
70-
71 if (B->neg
B->negDescription
TRUEevaluated 100 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 40 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
40-100
72 B->neg = 0;-
73 if (A->neg
A->negDescription
TRUEevaluated 50 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 50 times by 1 test
Evaluated by:
  • bntest
)
50
74 ret = -ret;
executed 50 times by 1 test: ret = -ret;
Executed by:
  • bntest
50
75 }
executed 100 times by 1 test: end of block
Executed by:
  • bntest
100
76-
77-
78-
79-
80 while (1) {-
81-
82-
83-
84-
85 if (((
((A)->top == 0)Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 18638 times by 2 tests
Evaluated by:
  • bntest
  • ectest
A)->top == 0)
((A)->top == 0)Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 18638 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
140-18638
86 ret = ((((((
(((B))->top == 1)Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
B))->top == 1)
(((B))->top == 1)Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
&& (((
(((B))->d[0] =...gned long)(1))Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
B))->d[0] == (unsigned long)(1))
(((B))->d[0] =...gned long)(1))Description
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (((
(((B))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
B))->top == 0)
(((B))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(B)->neg
!(B)->negDescription
TRUEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
) ? ret : 0;
0-140
87 goto
executed 140 times by 2 tests: goto end;
Executed by:
  • bntest
  • ectest
end;
executed 140 times by 2 tests: goto end;
Executed by:
  • bntest
  • ectest
140
88 }-
89-
90-
91 i = 0;-
92 while (!BN_is_bit_set(A, i)
!BN_is_bit_set(A, i)Description
TRUEevaluated 21111 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 18638 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
18638-21111
93 i++;
executed 21111 times by 2 tests: i++;
Executed by:
  • bntest
  • ectest
21111
94 err = !BN_rshift(A, A, i);-
95 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 18638 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-18638
96 goto
never executed: goto end;
end;
never executed: goto end;
0
97 if (i & 1
i & 1Description
TRUEevaluated 6769 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 11869 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
6769-11869
98-
99-
100 ret = ret * tab[(((B)->top == 0) ? (unsigned long) 0 : (B)->d[0]) & 7];-
101 }
executed 6769 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
6769
102-
103-
104-
105 if ((
(A->neg ? ~(((...(B)->d[0]) & 2Description
TRUEevaluated 4646 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 13992 times by 2 tests
Evaluated by:
  • bntest
  • ectest
A->neg
A->negDescription
TRUEevaluated 50 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 18588 times by 2 tests
Evaluated by:
  • bntest
  • ectest
? ~(((A)->top == 0) ? (unsigned long) 0 : (A)->d[0]) : (((
((A)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 18588 times by 2 tests
Evaluated by:
  • bntest
  • ectest
A)->top == 0)
((A)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 18588 times by 2 tests
Evaluated by:
  • bntest
  • ectest
? (unsigned long) 0 : (A)->d[0])) & (((B)->top == 0) ? (unsigned long) 0 : (B)->d[0]) & 2
(A->neg ? ~(((...(B)->d[0]) & 2Description
TRUEevaluated 4646 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 13992 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-18588
106 ret = -ret;
executed 4646 times by 1 test: ret = -ret;
Executed by:
  • bntest
4646
107-
108-
109 err = !BN_nnmod(B, B, A, ctx);-
110 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 18638 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-18638
111 goto
never executed: goto end;
end;
never executed: goto end;
0
112 tmp = A;-
113 A = B;-
114 B = tmp;-
115 tmp->neg = 0;-
116 }
executed 18638 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
18638
117-
118end:
code before this statement never executed: end:
0
119 BN_CTX_end(ctx);-
120 if (err
errDescription
TRUEnever evaluated
FALSEevaluated 140 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-140
121 return
never executed: return -2;
-2;
never executed: return -2;
0
122 else-
123 return
executed 140 times by 2 tests: return ret;
Executed by:
  • bntest
  • ectest
ret;
executed 140 times by 2 tests: return ret;
Executed by:
  • bntest
  • ectest
140
124}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2