OpenCoverage

dsa_gen.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/dsa/dsa_gen.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7int-
8DSA_generate_parameters_ex(DSA *ret, int bits, const unsigned char *seed_in,-
9 int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)-
10{-
11 if (ret->meth->dsa_paramgen
ret->meth->dsa_paramgenDescription
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
12 return
never executed: return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, counter_ret, h_ret, cb);
ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len,
never executed: return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, counter_ret, h_ret, cb);
0
13 counter_ret, h_ret, cb);
never executed: return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, counter_ret, h_ret, cb);
0
14 else {-
15 const EVP_MD *evpmd;-
16 size_t qbits;-
17-
18 if (bits >= 2048
bits >= 2048Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
) {
0-2
19 qbits = 256;-
20 evpmd = EVP_sha256();-
21 }
never executed: end of block
else {
0
22 qbits = 160;-
23 evpmd = EVP_sha1();-
24 }
executed 2 times by 2 tests: end of block
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
25-
26 return
executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb);
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in,
executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb);
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
27 seed_len,
executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb);
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
28 ((void *)0)
executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb);
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
29 , counter_ret, h_ret, cb);
executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb);
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
30 }-
31}-
32-
33int-
34dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, const EVP_MD *evpmd,-
35 const unsigned char *seed_in, size_t seed_len, unsigned char *seed_out,-
36 int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)-
37{-
38 int ok = 0;-
39 unsigned char seed[32];-
40 unsigned char md[32];-
41 unsigned char buf[32], buf2[32];-
42 BIGNUM *r0, *W, *X, *c, *test;-
43 BIGNUM *g = -
44 ((void *)0)-
45 , *q = -
46 ((void *)0)-
47 , *p = -
48 ((void *)0)-
49 ;-
50 BN_MONT_CTX *mont = -
51 ((void *)0)-
52 ;-
53 int i, k, n = 0, m = 0, qsize = qbits >> 3;-
54 int counter = 0;-
55 int r = 0;-
56 BN_CTX *ctx = -
57 ((void *)0)-
58 ;-
59 unsigned int h = 2;-
60-
61 if (qsize != 20
qsize != 20Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
&& qsize != 28
qsize != 28Description
TRUEnever evaluated
FALSEnever evaluated
&&
0-2
62 qsize != 32
qsize != 32Description
TRUEnever evaluated
FALSEnever evaluated
)
0
63-
64 return
never executed: return 0;
0;
never executed: return 0;
0
65-
66 if (evpmd ==
evpmd == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
67 ((void *)0)
evpmd == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
68 )-
69-
70 evpmd = EVP_sha1();
never executed: evpmd = EVP_sha1();
0
71-
72 if (bits < 512
bits < 512Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
73 bits = 512;
never executed: bits = 512;
0
74-
75 bits = (bits + 63) / 64 * 64;-
76-
77 if (seed_len < (size_t)qsize
seed_len < (size_t)qsizeDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
) {
1
78 seed_in = -
79 ((void *)0)-
80 ;-
81 seed_len = 0;-
82 }
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
1
83-
84-
85-
86-
87 if (seed_len > (size_t)qsize
seed_len > (size_t)qsizeDescription
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
88 seed_len = qsize;
never executed: seed_len = qsize;
0
89 if (seed_in !=
seed_in != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1
90 ((void *)0)
seed_in != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1
91 )-
92 memcpy(seed, seed_in, seed_len);
executed 1 time by 1 test: memcpy(seed, seed_in, seed_len);
Executed by:
  • dsatest
1
93 else if (seed_len != 0
seed_len != 0Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-1
94 goto
never executed: goto err;
err;
never executed: goto err;
0
95-
96 if ((
(mont=BN_MONT_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
mont=BN_MONT_CTX_new()) ==
(mont=BN_MONT_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
97 ((void *)0)
(mont=BN_MONT_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
98 )-
99 goto
never executed: goto err;
err;
never executed: goto err;
0
100-
101 if ((
(ctx=BN_CTX_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
ctx=BN_CTX_new()) ==
(ctx=BN_CTX_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
102 ((void *)0)
(ctx=BN_CTX_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
103 )-
104 goto
never executed: goto err;
err;
never executed: goto err;
0
105 BN_CTX_start(ctx);-
106-
107 if ((
(r0 = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
r0 = BN_CTX_get(ctx)) ==
(r0 = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
108 ((void *)0)
(r0 = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
109 )-
110 goto
never executed: goto err;
err;
never executed: goto err;
0
111 if ((
(g = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
g = BN_CTX_get(ctx)) ==
(g = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
112 ((void *)0)
(g = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
113 )-
114 goto
never executed: goto err;
err;
never executed: goto err;
0
115 if ((
(W = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
W = BN_CTX_get(ctx)) ==
(W = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
116 ((void *)0)
(W = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
117 )-
118 goto
never executed: goto err;
err;
never executed: goto err;
0
119 if ((
(q = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
q = BN_CTX_get(ctx)) ==
(q = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
120 ((void *)0)
(q = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
121 )-
122 goto
never executed: goto err;
err;
never executed: goto err;
0
123 if ((
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
X = BN_CTX_get(ctx)) ==
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
124 ((void *)0)
(X = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
125 )-
126 goto
never executed: goto err;
err;
never executed: goto err;
0
127 if ((
(c = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
c = BN_CTX_get(ctx)) ==
(c = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
128 ((void *)0)
(c = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
129 )-
130 goto
never executed: goto err;
err;
never executed: goto err;
0
131 if ((
(p = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
p = BN_CTX_get(ctx)) ==
(p = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
132 ((void *)0)
(p = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
133 )-
134 goto
never executed: goto err;
err;
never executed: goto err;
0
135 if ((
(test = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
test = BN_CTX_get(ctx)) ==
(test = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
136 ((void *)0)
(test = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
137 )-
138 goto
never executed: goto err;
err;
never executed: goto err;
0
139-
140 if (!BN_lshift(test, BN_value_one(), bits - 1)
!BN_lshift(tes...e(), bits - 1)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
141 goto
never executed: goto err;
err;
never executed: goto err;
0
142-
143 for (;;) {-
144 for (;;) {-
145 int seed_is_random;-
146-
147-
148 if (!BN_GENCB_call(cb, 0, m++)
!BN_GENCB_call(cb, 0, m++)Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-295
149 goto
never executed: goto err;
err;
never executed: goto err;
0
150-
151 if (seed_len == 0
seed_len == 0Description
TRUEevaluated 294 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
) {
1-294
152 arc4random_buf(seed, qsize);-
153 seed_is_random = 1;-
154 }
executed 294 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
else {
294
155 seed_is_random = 0;-
156-
157-
158 seed_len = 0;-
159 }
executed 1 time by 1 test: end of block
Executed by:
  • dsatest
1
160 memcpy(buf, seed, qsize);-
161 memcpy(buf2, seed, qsize);-
162-
163 for (i = qsize - 1; i >= 0
i >= 0Description
TRUEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEnever evaluated
; i--) {
0-295
164 buf[i]++;-
165 if (buf[i] != 0
buf[i] != 0Description
TRUEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEnever evaluated
)
0-295
166 break;
executed 295 times by 2 tests: break;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
295
167 }
never executed: end of block
0
168-
169-
170 if (!EVP_Digest(seed, qsize, md,
!EVP_Digest(se... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
171 ((void *)0)
!EVP_Digest(se... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
172 , evpmd,
!EVP_Digest(se... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
173 ((void *)0)
!EVP_Digest(se... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
174 )
!EVP_Digest(se... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-295
175 goto
never executed: goto err;
err;
never executed: goto err;
0
176 if (!EVP_Digest(buf, qsize, buf2,
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
177 ((void *)0)
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
178 , evpmd,
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
179 ((void *)0)
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-295
180 )
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-295
181 goto
never executed: goto err;
err;
never executed: goto err;
0
182 for (i = 0; i < qsize
i < qsizeDescription
TRUEevaluated 5900 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
; i++)
295-5900
183 md[i] ^= buf2[i];
executed 5900 times by 2 tests: md[i] ^= buf2[i];
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
5900
184-
185-
186 md[0] |= 0x80;-
187 md[qsize - 1] |= 0x01;-
188 if (!BN_bin2bn(md, qsize, q)
!BN_bin2bn(md, qsize, q)Description
TRUEnever evaluated
FALSEevaluated 295 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-295
189 goto
never executed: goto err;
err;
never executed: goto err;
0
190-
191-
192 r = BN_is_prime_fasttest_ex(q, 50, ctx,-
193 seed_is_random, cb);-
194 if (r > 0
r > 0Description
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 293 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
2-293
195 break;
executed 2 times by 2 tests: break;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
196 if (r != 0
r != 0Description
TRUEnever evaluated
FALSEevaluated 293 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-293
197 goto
never executed: goto err;
err;
never executed: goto err;
0
198-
199-
200-
201 }
executed 293 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
293
202-
203 if (!BN_GENCB_call(cb, 2, 0)
!BN_GENCB_call(cb, 2, 0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
204 goto
never executed: goto err;
err;
never executed: goto err;
0
205 if (!BN_GENCB_call(cb, 3, 0)
!BN_GENCB_call(cb, 3, 0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
206 goto
never executed: goto err;
err;
never executed: goto err;
0
207-
208-
209 counter = 0;-
210-
211-
212 n = (bits - 1) / 160;-
213-
214 for (;;) {-
215 if (counter != 0
counter != 0Description
TRUEevaluated 152 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
&& !BN_GENCB_call(cb, 0, counter)
!BN_GENCB_call(cb, 0, counter)Description
TRUEnever evaluated
FALSEevaluated 152 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-152
216 goto
never executed: goto err;
err;
never executed: goto err;
0
217-
218-
219 (BN_set_word((W),0));-
220-
221 for (k = 0; k <= n
k <= nDescription
TRUEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
; k++) {
154-616
222-
223 for (i = qsize - 1; i >= 0
i >= 0Description
TRUEevaluated 618 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEnever evaluated
; i--) {
0-618
224 buf[i]++;-
225 if (buf[i] != 0
buf[i] != 0Description
TRUEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • dsatest
)
2-616
226 break;
executed 616 times by 2 tests: break;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
616
227 }
executed 2 times by 1 test: end of block
Executed by:
  • dsatest
2
228-
229 if (!EVP_Digest(buf, qsize, md ,
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-616
230 ((void *)0)
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-616
231 , evpmd,
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-616
232
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-616
233 ((void *)0)
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-616
234 )
!EVP_Digest(bu... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-616
235 goto
never executed: goto err;
err;
never executed: goto err;
0
236-
237-
238 if (!BN_bin2bn(md, qsize, r0)
!BN_bin2bn(md, qsize, r0)Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-616
239 goto
never executed: goto err;
err;
never executed: goto err;
0
240 if (!BN_lshift(r0, r0, (qsize << 3) * k)
!BN_lshift(r0,...ize << 3) * k)Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-616
241 goto
never executed: goto err;
err;
never executed: goto err;
0
242 if (!BN_add(W, W, r0)
!BN_add(W, W, r0)Description
TRUEnever evaluated
FALSEevaluated 616 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-616
243 goto
never executed: goto err;
err;
never executed: goto err;
0
244 }
executed 616 times by 2 tests: end of block
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
616
245-
246-
247 if (!BN_mask_bits(W, bits - 1)
!BN_mask_bits(W, bits - 1)Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
248 goto
never executed: goto err;
err;
never executed: goto err;
0
249 if (!BN_copy(X, W)
!BN_copy(X, W)Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
250 goto
never executed: goto err;
err;
never executed: goto err;
0
251 if (!BN_add(X, X, test)
!BN_add(X, X, test)Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
252 goto
never executed: goto err;
err;
never executed: goto err;
0
253-
254-
255 if (!BN_lshift1(r0, q)
!BN_lshift1(r0, q)Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
256 goto
never executed: goto err;
err;
never executed: goto err;
0
257 if (!BN_div_ct(
!BN_div_ct( ((...X),(r0),(ctx))Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-154
258 ((void *)0)
!BN_div_ct( ((...X),(r0),(ctx))Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-154
259 ,(c),(X),(r0),(ctx))
!BN_div_ct( ((...X),(r0),(ctx))Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
260 goto
never executed: goto err;
err;
never executed: goto err;
0
261 if (!BN_sub(r0, c, BN_value_one())
!BN_sub(r0, c, BN_value_one())Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
262 goto
never executed: goto err;
err;
never executed: goto err;
0
263 if (!BN_sub(p, X, r0)
!BN_sub(p, X, r0)Description
TRUEnever evaluated
FALSEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-154
264 goto
never executed: goto err;
err;
never executed: goto err;
0
265-
266-
267 if (BN_cmp(p, test) >= 0
BN_cmp(p, test) >= 0Description
TRUEevaluated 154 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEnever evaluated
) {
0-154
268-
269 r = BN_is_prime_fasttest_ex(p, 50,-
270 ctx, 1, cb);-
271 if (r > 0
r > 0Description
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEevaluated 152 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
2-152
272 goto
executed 2 times by 2 tests: goto end;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
end;
executed 2 times by 2 tests: goto end;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
273 if (r != 0
r != 0Description
TRUEnever evaluated
FALSEevaluated 152 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-152
274 goto
never executed: goto err;
err;
never executed: goto err;
0
275 }
executed 152 times by 2 tests: end of block
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
152
276-
277-
278 counter++;-
279-
280-
281-
282 if (counter >= 4096
counter >= 4096Description
TRUEnever evaluated
FALSEevaluated 152 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-152
283 break;
never executed: break;
0
284 }
executed 152 times by 2 tests: end of block
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
152
285 }
never executed: end of block
0
286end:
code before this statement never executed: end:
0
287 if (!BN_GENCB_call(cb, 2, 1)
!BN_GENCB_call(cb, 2, 1)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
288 goto
never executed: goto err;
err;
never executed: goto err;
0
289-
290-
291-
292 if (!BN_sub(test, p, BN_value_one())
!BN_sub(test, ...N_value_one())Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
293 goto
never executed: goto err;
err;
never executed: goto err;
0
294 if (!BN_div_ct(r0,
!BN_div_ct(r0,... test, q, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
295 ((void *)0)
!BN_div_ct(r0,... test, q, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
296 , test, q, ctx)
!BN_div_ct(r0,... test, q, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
297 goto
never executed: goto err;
err;
never executed: goto err;
0
298-
299 if (!BN_set_word(test, h)
!BN_set_word(test, h)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
300 goto
never executed: goto err;
err;
never executed: goto err;
0
301 if (!BN_MONT_CTX_set(mont, p, ctx)
!BN_MONT_CTX_set(mont, p, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
302 goto
never executed: goto err;
err;
never executed: goto err;
0
303-
304 for (;;) {-
305-
306 if (!BN_mod_exp_mont_ct(g, test, r0, p, ctx, mont)
!BN_mod_exp_mo... p, ctx, mont)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
307 goto
never executed: goto err;
err;
never executed: goto err;
0
308 if (!((((((
(((g))->top == 1)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
g))->top == 1)
(((g))->top == 1)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
&& (((
(((g))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
g))->d[0] == (unsigned long)(1))
(((g))->d[0] =...gned long)(1))Description
TRUEnever evaluated
FALSEnever evaluated
) || (((
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
1) == 0)
((1) == 0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
&& (((
(((g))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
g))->top == 0)
(((g))->top == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)) && !(g)->neg
!(g)->negDescription
TRUEnever evaluated
FALSEnever evaluated
))
0-2
309 break;
executed 2 times by 2 tests: break;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
310 if (!BN_add(test, test, BN_value_one())
!BN_add(test, ...N_value_one())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
311 goto
never executed: goto err;
err;
never executed: goto err;
0
312 h++;-
313 }
never executed: end of block
0
314-
315 if (!BN_GENCB_call(cb, 3, 1)
!BN_GENCB_call(cb, 3, 1)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
)
0-2
316 goto
never executed: goto err;
err;
never executed: goto err;
0
317-
318 ok = 1;-
319err:
code before this statement executed 2 times by 2 tests: err:
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
320 if (ok
okDescription
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEnever evaluated
) {
0-2
321 BN_free(ret->p);-
322 BN_free(ret->q);-
323 BN_free(ret->g);-
324 ret->p = BN_dup(p);-
325 ret->q = BN_dup(q);-
326 ret->g = BN_dup(g);-
327 if (ret->p ==
ret->p == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
328 ((void *)0)
ret->p == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
329 || ret->q ==
ret->q == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
330 ((void *)0)
ret->q == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
331 || ret->g ==
ret->g == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
332 ((void *)0)
ret->g == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
333 ) {-
334 ok = 0;-
335 goto
never executed: goto err;
err;
never executed: goto err;
0
336 }-
337 if (counter_ret !=
counter_ret != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1
338 ((void *)0)
counter_ret != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1
339 )-
340 *
executed 1 time by 1 test: *counter_ret = counter;
Executed by:
  • dsatest
counter_ret = counter;
executed 1 time by 1 test: *counter_ret = counter;
Executed by:
  • dsatest
1
341 if (h_ret !=
h_ret != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1
342 ((void *)0)
h_ret != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • dsatest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1
343 )-
344 *
executed 1 time by 1 test: *h_ret = h;
Executed by:
  • dsatest
h_ret = h;
executed 1 time by 1 test: *h_ret = h;
Executed by:
  • dsatest
1
345 if (seed_out !=
seed_out != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
346 ((void *)0)
seed_out != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
0-2
347 )-
348 memcpy(seed_out, seed, qsize);
never executed: memcpy(seed_out, seed, qsize);
0
349 }
executed 2 times by 2 tests: end of block
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
350 if (ctx
ctxDescription
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • dsatest
  • libcrypto.so.44.0.1
FALSEnever evaluated
) {
0-2
351 BN_CTX_end(ctx);-
352 BN_CTX_free(ctx);-
353 }
executed 2 times by 2 tests: end of block
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
354 BN_MONT_CTX_free(mont);-
355 return
executed 2 times by 2 tests: return ok;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
ok;
executed 2 times by 2 tests: return ok;
Executed by:
  • dsatest
  • libcrypto.so.44.0.1
2
356}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2