OpenCoverage

bn_mod.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_mod.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3int-
4BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)-
5{-
6-
7-
8-
9 if (!(BN_div_ct(
!(BN_div_ct( (...m),(d),(ctx)))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 112872 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
5-112872
10 ((void *)0)
!(BN_div_ct( (...m),(d),(ctx)))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 112872 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
5-112872
11 ,(r),(m),(d),(ctx)))
!(BN_div_ct( (...m),(d),(ctx)))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • bntest
FALSEevaluated 112872 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
)
5-112872
12 return
executed 5 times by 1 test: return 0;
Executed by:
  • bntest
0;
executed 5 times by 1 test: return 0;
Executed by:
  • bntest
5
13 if (!r->neg
!r->negDescription
TRUEevaluated 112629 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 243 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
243-112629
14 return
executed 112629 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 112629 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
112629
15-
16 if (d->neg
d->negDescription
TRUEnever evaluated
FALSEevaluated 243 times by 2 tests
Evaluated by:
  • bntest
  • ectest
)
0-243
17 return
never executed: return BN_sub(r, r, d);
BN_sub(r, r, d);
never executed: return BN_sub(r, r, d);
0
18 else-
19 return
executed 243 times by 2 tests: return BN_add(r, r, d);
Executed by:
  • bntest
  • ectest
BN_add(r, r, d);
executed 243 times by 2 tests: return BN_add(r, r, d);
Executed by:
  • bntest
  • ectest
243
20}-
21-
22int-
23BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,-
24 BN_CTX *ctx)-
25{-
26 if (!BN_add(r, a, b)
!BN_add(r, a, b)Description
TRUEnever evaluated
FALSEevaluated 120 times by 4 tests
Evaluated by:
  • dsatest
  • ecdsatest
  • ectest
  • libcrypto.so.44.0.1
)
0-120
27 return
never executed: return 0;
0;
never executed: return 0;
0
28 return
executed 120 times by 4 tests: return BN_nnmod(r, r, m, ctx);
Executed by:
  • dsatest
  • ecdsatest
  • ectest
  • libcrypto.so.44.0.1
BN_nnmod(r, r, m, ctx);
executed 120 times by 4 tests: return BN_nnmod(r, r, m, ctx);
Executed by:
  • dsatest
  • ecdsatest
  • ectest
  • libcrypto.so.44.0.1
120
29}-
30-
31-
32-
33int-
34BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m)-
35{-
36 if (!BN_uadd(r, a, b)
!BN_uadd(r, a, b)Description
TRUEnever evaluated
FALSEevaluated 585006 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-585006
37 return
never executed: return 0;
0;
never executed: return 0;
0
38 if (BN_ucmp(r, m) >= 0
BN_ucmp(r, m) >= 0Description
TRUEevaluated 287369 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 297637 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
287369-297637
39 return
executed 287369 times by 4 tests: return BN_usub(r, r, m);
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
BN_usub(r, r, m);
executed 287369 times by 4 tests: return BN_usub(r, r, m);
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
287369
40 return
executed 297637 times by 4 tests: return 1;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
1;
executed 297637 times by 4 tests: return 1;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
297637
41}-
42-
43int-
44BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,-
45 BN_CTX *ctx)-
46{-
47 if (!BN_sub(r, a, b)
!BN_sub(r, a, b)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
48 return
never executed: return 0;
0;
never executed: return 0;
0
49 return
never executed: return BN_nnmod(r, r, m, ctx);
BN_nnmod(r, r, m, ctx);
never executed: return BN_nnmod(r, r, m, ctx);
0
50}-
51-
52-
53-
54int-
55BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m)-
56{-
57 if (!BN_sub(r, a, b)
!BN_sub(r, a, b)Description
TRUEnever evaluated
FALSEevaluated 1256535 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-1256535
58 return
never executed: return 0;
0;
never executed: return 0;
0
59 if (r->neg
r->negDescription
TRUEevaluated 628484 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 628051 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
628051-628484
60 return
executed 628484 times by 4 tests: return BN_add(r, r, m);
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
BN_add(r, r, m);
executed 628484 times by 4 tests: return BN_add(r, r, m);
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
628484
61 return
executed 628051 times by 4 tests: return 1;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
1;
executed 628051 times by 4 tests: return 1;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
628051
62}-
63-
64-
65int-
66BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,-
67 BN_CTX *ctx)-
68{-
69 BIGNUM *t;-
70 int ret = 0;-
71-
72 ;-
73 ;-
74 ;-
75-
76 BN_CTX_start(ctx);-
77 if ((
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 88348 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
t = BN_CTX_get(ctx)) ==
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 88348 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-88348
78 ((void *)0)
(t = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 88348 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-88348
79 )-
80 goto
never executed: goto err;
err;
never executed: goto err;
0
81 if (a == b
a == bDescription
TRUEevaluated 71292 times by 9 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
FALSEevaluated 17056 times by 12 tests
Evaluated by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
17056-71292
82 if (!BN_sqr(t, a, ctx)
!BN_sqr(t, a, ctx)Description
TRUEnever evaluated
FALSEevaluated 71292 times by 9 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
)
0-71292
83 goto
never executed: goto err;
err;
never executed: goto err;
0
84 }
executed 71292 times by 9 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
else {
71292
85 if (!BN_mul(t, a,b, ctx)
!BN_mul(t, a,b, ctx)Description
TRUEnever evaluated
FALSEevaluated 17056 times by 12 tests
Evaluated by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-17056
86 goto
never executed: goto err;
err;
never executed: goto err;
0
87 }
executed 17056 times by 12 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
17056
88 if (!BN_nnmod(r, t,m, ctx)
!BN_nnmod(r, t,m, ctx)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • bntest
FALSEevaluated 88347 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
1-88347
89 goto
executed 1 time by 1 test: goto err;
Executed by:
  • bntest
err;
executed 1 time by 1 test: goto err;
Executed by:
  • bntest
1
90 ;-
91 ret = 1;-
92-
93err:
code before this statement executed 88347 times by 14 tests: err:
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
88347
94 BN_CTX_end(ctx);-
95 return
executed 88348 times by 14 tests: return (ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 88348 times by 14 tests: return (ret);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
88348
96}-
97-
98int-
99BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx)-
100{-
101 if (!BN_sqr(r, a, ctx)
!BN_sqr(r, a, ctx)Description
TRUEnever evaluated
FALSEevaluated 934 times by 5 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-934
102 return
never executed: return 0;
0;
never executed: return 0;
0
103-
104 return
executed 934 times by 5 tests: return BN_div_ct( ((void *)0) ,(r),(r),(m),(ctx));
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
BN_div_ct(
executed 934 times by 5 tests: return BN_div_ct( ((void *)0) ,(r),(r),(m),(ctx));
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
934
105 ((void *)0)
executed 934 times by 5 tests: return BN_div_ct( ((void *)0) ,(r),(r),(m),(ctx));
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
934
106 ,(r),(r),(m),(ctx));
executed 934 times by 5 tests: return BN_div_ct( ((void *)0) ,(r),(r),(m),(ctx));
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
934
107}-
108-
109int-
110BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx)-
111{-
112 if (!BN_lshift1(r, a)
!BN_lshift1(r, a)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
113 return
never executed: return 0;
0;
never executed: return 0;
0
114 ;-
115 return
never executed: return BN_nnmod(r, r, m, ctx);
BN_nnmod(r, r, m, ctx);
never executed: return BN_nnmod(r, r, m, ctx);
0
116}-
117-
118-
119-
120int-
121BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m)-
122{-
123 if (!BN_lshift1(r, a)
!BN_lshift1(r, a)Description
TRUEnever evaluated
FALSEevaluated 618748 times by 5 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-618748
124 return
never executed: return 0;
0;
never executed: return 0;
0
125 ;-
126 if (BN_cmp(r, m) >= 0
BN_cmp(r, m) >= 0Description
TRUEevaluated 309036 times by 5 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 309712 times by 5 tests
Evaluated by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
309036-309712
127 return
executed 309036 times by 5 tests: return BN_sub(r, r, m);
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
BN_sub(r, r, m);
executed 309036 times by 5 tests: return BN_sub(r, r, m);
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
309036
128 return
executed 309712 times by 5 tests: return 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
1;
executed 309712 times by 5 tests: return 1;
Executed by:
  • bntest
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
309712
129}-
130-
131int-
132BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx)-
133{-
134 BIGNUM *abs_m = -
135 ((void *)0)-
136 ;-
137 int ret;-
138-
139 if (!BN_nnmod(r, a, m, ctx)
!BN_nnmod(r, a, m, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
140 return
never executed: return 0;
0;
never executed: return 0;
0
141-
142 if (m->neg
m->negDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
143 abs_m = BN_dup(m);-
144 if (abs_m ==
abs_m == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
145 ((void *)0)
abs_m == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
146 )-
147 return
never executed: return 0;
0;
never executed: return 0;
0
148 abs_m->neg = 0;-
149 }
never executed: end of block
0
150-
151 ret = BN_mod_lshift_quick(r, r, n, (abs_m ? abs_m : m));-
152 ;-
153-
154 BN_free(abs_m);-
155 return
never executed: return ret;
ret;
never executed: return ret;
0
156}-
157-
158-
159-
160int-
161BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m)-
162{-
163 if (r != a
r != aDescription
TRUEevaluated 163199 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 163199 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
) {
163199
164 if (BN_copy(r, a) ==
BN_copy(r, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 163199 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
0-163199
165 ((void *)0)
BN_copy(r, a) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 163199 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
0-163199
166 )-
167 return
never executed: return 0;
0;
never executed: return 0;
0
168 }
executed 163199 times by 4 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
163199
169-
170 while (n > 0
n > 0Description
TRUEevaluated 664617 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 326398 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
) {
326398-664617
171 int max_shift;-
172-
173-
174 max_shift = BN_num_bits(m) - BN_num_bits(r);-
175-
176-
177 if (max_shift < 0
max_shift < 0Description
TRUEnever evaluated
FALSEevaluated 664617 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
) {
0-664617
178 ERR_put_error(3,(0xfff),(110),__FILE__,281);-
179 return
never executed: return 0;
0;
never executed: return 0;
0
180 }-
181-
182 if (max_shift > n
max_shift > nDescription
TRUEevaluated 100868 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 563749 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
100868-563749
183 max_shift = n;
executed 100868 times by 4 tests: max_shift = n;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
100868
184-
185 if (max_shift
max_shiftDescription
TRUEevaluated 351096 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 313521 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
) {
313521-351096
186 if (!BN_lshift(r, r, max_shift)
!BN_lshift(r, r, max_shift)Description
TRUEnever evaluated
FALSEevaluated 351096 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-351096
187 return
never executed: return 0;
0;
never executed: return 0;
0
188 n -= max_shift;-
189 }
executed 351096 times by 4 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
else {
351096
190 if (!BN_lshift1(r, r)
!BN_lshift1(r, r)Description
TRUEnever evaluated
FALSEevaluated 313521 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-313521
191 return
never executed: return 0;
0;
never executed: return 0;
0
192 --n;-
193 }
executed 313521 times by 4 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
313521
194-
195-
196-
197 if (BN_cmp(r, m) >= 0
BN_cmp(r, m) >= 0Description
TRUEevaluated 407084 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
FALSEevaluated 257533 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
) {
257533-407084
198 if (!BN_sub(r, r, m)
!BN_sub(r, r, m)Description
TRUEnever evaluated
FALSEevaluated 407084 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
)
0-407084
199 return
never executed: return 0;
0;
never executed: return 0;
0
200 }
executed 407084 times by 4 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
407084
201 }
executed 664617 times by 4 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
664617
202 ;-
203-
204 return
executed 326398 times by 4 tests: return 1;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
1;
executed 326398 times by 4 tests: return 1;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • ssltest
326398
205}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2