OpenCoverage

bn_word.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_word.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3unsigned long-
4BN_mod_word(const BIGNUM *a, unsigned long w)-
5{-
6-
7 unsigned long ret = 0;-
8-
9-
10-
11 int i;-
12-
13 if (w == 0
w == 0Description
TRUEnever evaluated
FALSEevaluated 556823 times by 5 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
)
0-556823
14 return
never executed: return (unsigned long) - 1;
(unsigned long) - 1;
never executed: return (unsigned long) - 1;
0
15-
16-
17-
18-
19 if (w > ((unsigned long)1 << 32)
w > ((unsigned long)1 << 32)Description
TRUEevaluated 97 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 556726 times by 5 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
) {
97-556726
20 BIGNUM *tmp = BN_dup(a);-
21 if (tmp ==
tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 97 times by 1 test
Evaluated by:
  • bntest
0-97
22 ((void *)0)
tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 97 times by 1 test
Evaluated by:
  • bntest
0-97
23 ) {-
24 return
never executed: return (unsigned long)-1;
(unsigned long)-1;
never executed: return (unsigned long)-1;
0
25 }-
26 ret = BN_div_word(tmp, w);-
27 BN_free(tmp);-
28 return
executed 97 times by 1 test: return ret;
Executed by:
  • bntest
ret;
executed 97 times by 1 test: return ret;
Executed by:
  • bntest
97
29 }-
30-
31-
32 ;-
33 w &= (0xffffffffffffffffL);-
34 for (i = a->top - 1; i >= 0
i >= 0Description
TRUEevaluated 1789639 times by 5 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
FALSEevaluated 556726 times by 5 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
; i--) {
556726-1789639
35-
36 ret = ((ret << 32) | ((a->d[i] >> 32) &-
37 (0xffffffffL))) % w;-
38 ret = ((ret << 32) | (a->d[i] & (0xffffffffL))) % w;-
39-
40-
41-
42-
43 }
executed 1789639 times by 5 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
1789639
44 return
executed 556726 times by 5 tests: return ((unsigned long)ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
((unsigned long)ret);
executed 556726 times by 5 tests: return ((unsigned long)ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • libcrypto.so.44.0.1
  • mont
556726
45}-
46-
47unsigned long-
48BN_div_word(BIGNUM *a, unsigned long w)-
49{-
50 unsigned long ret = 0;-
51 int i, j;-
52-
53 ;-
54 w &= (0xffffffffffffffffL);-
55-
56 if (!w
!wDescription
TRUEnever evaluated
FALSEevaluated 197 times by 1 test
Evaluated by:
  • bntest
)
0-197
57-
58 return
never executed: return (unsigned long) - 1;
(unsigned long) - 1;
never executed: return (unsigned long) - 1;
0
59 if (a->top == 0
a->top == 0Description
TRUEnever evaluated
FALSEevaluated 197 times by 1 test
Evaluated by:
  • bntest
)
0-197
60 return
never executed: return 0;
0;
never executed: return 0;
0
61-
62-
63 j = 64 - BN_num_bits_word(w);-
64 w <<= j;-
65 if (!BN_lshift(a, a, j)
!BN_lshift(a, a, j)Description
TRUEnever evaluated
FALSEevaluated 197 times by 1 test
Evaluated by:
  • bntest
)
0-197
66 return
never executed: return (unsigned long) - 1;
(unsigned long) - 1;
never executed: return (unsigned long) - 1;
0
67-
68 for (i = a->top - 1; i >= 0
i >= 0Description
TRUEevaluated 1645 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 197 times by 1 test
Evaluated by:
  • bntest
; i--) {
197-1645
69 unsigned long l, d;-
70-
71 l = a->d[i];-
72 d = bn_div_words(ret, l, w);-
73 ret = (l - ((d*w)&(0xffffffffffffffffL)))&(0xffffffffffffffffL);-
74 a->d[i] = d;-
75 }
executed 1645 times by 1 test: end of block
Executed by:
  • bntest
1645
76 if ((
(a->top > 0)Description
TRUEevaluated 197 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
a->top > 0)
(a->top > 0)Description
TRUEevaluated 197 times by 1 test
Evaluated by:
  • bntest
FALSEnever evaluated
&& (
(a->d[a->top - 1] == 0)Description
TRUEevaluated 165 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 32 times by 1 test
Evaluated by:
  • bntest
a->d[a->top - 1] == 0)
(a->d[a->top - 1] == 0)Description
TRUEevaluated 165 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 32 times by 1 test
Evaluated by:
  • bntest
)
0-197
77 a->top--;
executed 165 times by 1 test: a->top--;
Executed by:
  • bntest
165
78 ret >>= j;-
79 ;-
80 return
executed 197 times by 1 test: return (ret);
Executed by:
  • bntest
(ret);
executed 197 times by 1 test: return (ret);
Executed by:
  • bntest
197
81}-
82-
83int-
84BN_add_word(BIGNUM *a, unsigned long w)-
85{-
86 unsigned long l;-
87 int i;-
88-
89 ;-
90 w &= (0xffffffffffffffffL);-
91-
92-
93 if (!w
!wDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 99401 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
)
3-99401
94 return
executed 3 times by 1 test: return 1;
Executed by:
  • bntest
1;
executed 3 times by 1 test: return 1;
Executed by:
  • bntest
3
95-
96 if (((
((a)->top == 0)Description
TRUEevaluated 20 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
a)->top == 0)
((a)->top == 0)Description
TRUEevaluated 20 times by 3 tests
Evaluated by:
  • bntest
  • ecdsatest
  • ectest
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
)
20-99381
97 return
executed 20 times by 3 tests: return BN_set_word(a, w);
Executed by:
  • bntest
  • ecdsatest
  • ectest
BN_set_word(a, w);
executed 20 times by 3 tests: return BN_set_word(a, w);
Executed by:
  • bntest
  • ecdsatest
  • ectest
20
98-
99 if (a->neg
a->negDescription
TRUEnever evaluated
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
) {
0-99381
100 a->neg = 0;-
101 i = BN_sub_word(a, w);-
102 if (!((a)->top == 0)
!((a)->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
103 a->neg=!(a->neg);
never executed: a->neg=!(a->neg);
0
104 return
never executed: return (i);
(i);
never executed: return (i);
0
105 }-
106 for (i = 0; w != 0
w != 0Description
TRUEevaluated 99437 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
&& i < a->top
i < a->topDescription
TRUEevaluated 99437 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
FALSEnever evaluated
; i++) {
0-99437
107 a->d[i] = l = (a->d[i] + w) & (0xffffffffffffffffL);-
108 w = (
(w > l)Description
TRUEevaluated 56 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
w > l)
(w > l)Description
TRUEevaluated 56 times by 4 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
? 1 : 0;
56-99381
109 }
executed 99437 times by 10 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
99437
110 if (w
wDescription
TRUEnever evaluated
FALSEevaluated 99381 times by 10 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
&& i == a->top
i == a->topDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0-99381
111 if ((((
((a->top + 1) <= (a)->dmax)Description
TRUEnever evaluated
FALSEnever evaluated
a->top + 1) <= (a)->dmax)
((a->top + 1) <= (a)->dmax)Description
TRUEnever evaluated
FALSEnever evaluated
?(a):bn_expand2((a),(a->top + 1))) ==
(((a->top + 1)...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
112 ((void *)0)
(((a->top + 1)...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
113 )-
114 return
never executed: return 0;
0;
never executed: return 0;
0
115 a->top++;-
116 a->d[i] = w;-
117 }
never executed: end of block
0
118 ;-
119 return
executed 99381 times by 10 tests: return (1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
(1);
executed 99381 times by 10 tests: return (1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • ssltest
99381
120}-
121-
122int-
123BN_sub_word(BIGNUM *a, unsigned long w)-
124{-
125 int i;-
126-
127 ;-
128 w &= (0xffffffffffffffffL);-
129-
130-
131 if (!w
!wDescription
TRUEnever evaluated
FALSEevaluated 4175 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4175
132 return
never executed: return 1;
1;
never executed: return 1;
0
133-
134 if (((
((a)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 4175 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
a)->top == 0)
((a)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 4175 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
0-4175
135 i = BN_set_word(a, w);-
136 if (i != 0
i != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
137 BN_set_negative(a, 1);
never executed: BN_set_negative(a, 1);
0
138 return
never executed: return i;
i;
never executed: return i;
0
139 }-
140-
141 if (a->neg
a->negDescription
TRUEnever evaluated
FALSEevaluated 4175 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
0-4175
142 a->neg = 0;-
143 i = BN_add_word(a, w);-
144 a->neg = 1;-
145 return
never executed: return (i);
(i);
never executed: return (i);
0
146 }-
147-
148 if ((
(a->top == 1)Description
TRUEevaluated 1029 times by 3 tests
Evaluated by:
  • bntest
  • dhtest
  • mont
FALSEevaluated 3146 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
a->top == 1)
(a->top == 1)Description
TRUEevaluated 1029 times by 3 tests
Evaluated by:
  • bntest
  • dhtest
  • mont
FALSEevaluated 3146 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
&& (
(a->d[0] < w)Description
TRUEnever evaluated
FALSEevaluated 1029 times by 3 tests
Evaluated by:
  • bntest
  • dhtest
  • mont
a->d[0] < w)
(a->d[0] < w)Description
TRUEnever evaluated
FALSEevaluated 1029 times by 3 tests
Evaluated by:
  • bntest
  • dhtest
  • mont
) {
0-3146
149 a->d[0] = w - a->d[0];-
150 a->neg = 1;-
151 return
never executed: return (1);
(1);
never executed: return (1);
0
152 }-
153 i = 0;-
154 for (;;) {-
155 if (a->d[i] >= w
a->d[i] >= wDescription
TRUEevaluated 4175 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2867 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
2867-4175
156 a->d[i] -= w;-
157 break;
executed 4175 times by 14 tests: break;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4175
158 } else {-
159 a->d[i] = (a->d[i] - w) & (0xffffffffffffffffL);-
160 i++;-
161 w = 1;-
162 }
executed 2867 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2867
163 }-
164 if ((
(a->d[i] == 0)Description
TRUEevaluated 147 times by 6 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • servertest
  • ssltest
FALSEevaluated 4028 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
a->d[i] == 0)
(a->d[i] == 0)Description
TRUEevaluated 147 times by 6 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • servertest
  • ssltest
FALSEevaluated 4028 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
&& (
(i == (a->top - 1))Description
TRUEevaluated 146 times by 6 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • servertest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
i == (a->top - 1))
(i == (a->top - 1))Description
TRUEevaluated 146 times by 6 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • servertest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
)
1-4028
165 a->top--;
executed 146 times by 6 tests: a->top--;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • servertest
  • ssltest
146
166 ;-
167 return
executed 4175 times by 14 tests: return (1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
(1);
executed 4175 times by 14 tests: return (1);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4175
168}-
169-
170int-
171BN_mul_word(BIGNUM *a, unsigned long w)-
172{-
173 unsigned long ll;-
174-
175 ;-
176 w &= (0xffffffffffffffffL);-
177 if (a->top
a->topDescription
TRUEevaluated 270 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
) {
0-270
178 if (w == 0
w == 0Description
TRUEnever evaluated
FALSEevaluated 270 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-270
179 (
never executed: (BN_set_word((a),0));
BN_set_word((a),0));
never executed: (BN_set_word((a),0));
0
180 else {-
181 ll = bn_mul_words(a->d, a->d, a->top, w);-
182 if (ll
llDescription
TRUEevaluated 190 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEevaluated 80 times by 2 tests
Evaluated by:
  • bntest
  • ectest
) {
80-190
183 if ((((
((a->top + 1) <= (a)->dmax)Description
TRUEevaluated 190 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
a->top + 1) <= (a)->dmax)
((a->top + 1) <= (a)->dmax)Description
TRUEevaluated 190 times by 2 tests
Evaluated by:
  • bntest
  • ectest
FALSEnever evaluated
?(a):bn_expand2((a),(a->top + 1))) ==
(((a->top + 1)...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 190 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-190
184 ((void *)0)
(((a->top + 1)...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 190 times by 2 tests
Evaluated by:
  • bntest
  • ectest
0-190
185 )-
186 return
never executed: return (0);
(0);
never executed: return (0);
0
187 a->d[a->top++] = ll;-
188 }
executed 190 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
190
189 }
executed 270 times by 2 tests: end of block
Executed by:
  • bntest
  • ectest
270
190 }-
191 ;-
192 return
executed 270 times by 2 tests: return (1);
Executed by:
  • bntest
  • ectest
(1);
executed 270 times by 2 tests: return (1);
Executed by:
  • bntest
  • ectest
270
193}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2