OpenCoverage

rand_lib.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/rand/rand_lib.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static ENGINE *funct_ref;-
6static CRYPTO_RWLOCK *rand_engine_lock;-
7-
8static CRYPTO_RWLOCK *rand_meth_lock;-
9static const RAND_METHOD *default_RAND_meth;-
10static CRYPTO_ONCE rand_init = -
11 0-
12 ;-
13-
14int rand_fork_count;-
15-
16static CRYPTO_RWLOCK *rand_nonce_lock;-
17static int rand_nonce_count;-
18-
19static int rand_cleaning_up = 0;-
20size_t rand_drbg_get_entropy(RAND_DRBG *drbg,-
21 unsigned char **pout,-
22 int entropy, size_t min_len, size_t max_len,-
23 int prediction_resistance)-
24{-
25 size_t ret = 0;-
26 size_t entropy_available = 0;-
27 RAND_POOL *pool;-
28-
29 if (drbg->parent
drbg->parentDescription
TRUEevaluated 1057 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 799 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
&& drbg->strength > drbg->parent->strength
drbg->strength...rent->strengthDescription
TRUEnever evaluated
FALSEevaluated 1056 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-1057
30-
31-
32-
33-
34 ERR_put_error(36,(120),(131),__FILE__,145);-
35 return
never executed: return 0;
0;
never executed: return 0;
0
36 }-
37-
38 pool = rand_pool_new(entropy, min_len, max_len);-
39 if (pool ==
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1856 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1856
40 ((void *)0)
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1856 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1856
41 )-
42 return
never executed: return 0;
0;
never executed: return 0;
0
43-
44 if (drbg->pool
drbg->poolDescription
TRUEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
19-1837
45 rand_pool_add(pool,-
46 rand_pool_buffer(drbg->pool),-
47 rand_pool_length(drbg->pool),-
48 rand_pool_entropy(drbg->pool));-
49 rand_pool_free(drbg->pool);-
50 drbg->pool = -
51 ((void *)0)-
52 ;-
53 }
executed 19 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
19
54-
55 if (drbg->parent
drbg->parentDescription
TRUEevaluated 1057 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 799 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
799-1057
56 size_t bytes_needed = rand_pool_bytes_needed(pool, 1 );-
57 unsigned char *buffer = rand_pool_add_begin(pool, bytes_needed);-
58-
59 if (buffer !=
buffer != ((void *)0)Description
TRUEevaluated 1057 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
0-1057
60 ((void *)0)
buffer != ((void *)0)Description
TRUEevaluated 1057 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
0-1057
61 ) {-
62 size_t bytes = 0;-
63-
64-
65-
66-
67-
68-
69-
70 rand_drbg_lock(drbg->parent);-
71 if (RAND_DRBG_generate(drbg->parent,
RAND_DRBG_gene...*)0) , 0) != 0Description
TRUEevaluated 1055 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-1055
72 buffer, bytes_needed,
RAND_DRBG_gene...*)0) , 0) != 0Description
TRUEevaluated 1055 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-1055
73 prediction_resistance,
RAND_DRBG_gene...*)0) , 0) != 0Description
TRUEevaluated 1055 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-1055
74
RAND_DRBG_gene...*)0) , 0) != 0Description
TRUEevaluated 1055 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-1055
75 ((void *)0)
RAND_DRBG_gene...*)0) , 0) != 0Description
TRUEevaluated 1055 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-1055
76 , 0) != 0
RAND_DRBG_gene...*)0) , 0) != 0Description
TRUEevaluated 1055 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
2-1055
77 bytes = bytes_needed;
executed 1055 times by 2 tests: bytes = bytes_needed;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1055
78 rand_drbg_unlock(drbg->parent);-
79-
80 rand_pool_add_end(pool, bytes, 8 * bytes);-
81 entropy_available = rand_pool_entropy_available(pool);-
82 }
executed 1057 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1057
83-
84 }
executed 1057 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
else {
1057
85 if (prediction_resistance
prediction_resistanceDescription
TRUEnever evaluated
FALSEevaluated 799 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-799
86-
87-
88-
89-
90-
91 ERR_put_error(36,(120),(133),__FILE__,195)-
92 ;-
93 goto
never executed: goto err;
err;
never executed: goto err;
0
94 }-
95-
96-
97 entropy_available = rand_pool_acquire_entropy(pool);-
98 }
executed 799 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
799
99-
100 if (entropy_available > 0
entropy_available > 0Description
TRUEevaluated 1854 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
2-1854
101 ret = rand_pool_length(pool);-
102 *pout = rand_pool_detach(pool);-
103 }
executed 1854 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1854
104-
105 err:
code before this statement executed 1856 times by 2 tests: err:
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1856
106 rand_pool_free(pool);-
107 return
executed 1856 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
ret;
executed 1856 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1856
108}-
109-
110-
111-
112-
113-
114void rand_drbg_cleanup_entropy(RAND_DRBG *drbg,-
115 unsigned char *out, size_t outlen)-
116{-
117 CRYPTO_secure_clear_free(out, outlen, __FILE__, 220);-
118}
executed 1854 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1854
119-
120-
121-
122-
123-
124-
125size_t rand_drbg_get_nonce(RAND_DRBG *drbg,-
126 unsigned char **pout,-
127 int entropy, size_t min_len, size_t max_len)-
128{-
129 size_t ret = 0;-
130 RAND_POOL *pool;-
131-
132 struct {-
133 void * instance;-
134 int count;-
135 } data = { 0 };-
136-
137 pool = rand_pool_new(0, min_len, max_len);-
138 if (pool ==
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 781 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-781
139 ((void *)0)
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 781 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-781
140 )-
141 return
never executed: return 0;
0;
never executed: return 0;
0
142-
143 if (rand_pool_add_nonce_data(pool) == 0
rand_pool_add_...ata(pool) == 0Description
TRUEnever evaluated
FALSEevaluated 781 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-781
144 goto
never executed: goto err;
err;
never executed: goto err;
0
145-
146 data.instance = drbg;-
147 CRYPTO_atomic_add(&rand_nonce_count, 1, &data.count, rand_nonce_lock);-
148-
149 if (rand_pool_add(pool, (unsigned char *)&data, sizeof(data), 0) == 0
rand_pool_add(...data), 0) == 0Description
TRUEnever evaluated
FALSEevaluated 781 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-781
150 goto
never executed: goto err;
err;
never executed: goto err;
0
151-
152 ret = rand_pool_length(pool);-
153 *pout = rand_pool_detach(pool);-
154-
155 err:
code before this statement executed 781 times by 2 tests: err:
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
781
156 rand_pool_free(pool);-
157-
158 return
executed 781 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
ret;
executed 781 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
781
159}-
160-
161-
162-
163-
164-
165void rand_drbg_cleanup_nonce(RAND_DRBG *drbg,-
166 unsigned char *out, size_t outlen)-
167{-
168 CRYPTO_secure_clear_free(out, outlen, __FILE__, 269);-
169}
executed 781 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
781
170size_t rand_drbg_get_additional_data(unsigned char **pout, size_t max_len)-
171{-
172 size_t ret = 0;-
173 RAND_POOL *pool;-
174-
175 pool = rand_pool_new(0, 0, max_len);-
176 if (pool ==
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1047778 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1047778
177 ((void *)0)
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1047778 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1047778
178 )-
179 return
never executed: return 0;
0;
never executed: return 0;
0
180-
181 if (rand_pool_add_additional_data(pool) == 0
rand_pool_add_...ata(pool) == 0Description
TRUEnever evaluated
FALSEevaluated 1050211 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-1050211
182 goto
never executed: goto err;
err;
never executed: goto err;
0
183-
184 ret = rand_pool_length(pool);-
185 *pout = rand_pool_detach(pool);-
186-
187 err:
code before this statement executed 1048880 times by 2 tests: err:
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1048880
188 rand_pool_free(pool);-
189-
190 return
executed 1042930 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
ret;
executed 1042930 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1042930
191}-
192-
193void rand_drbg_cleanup_additional_data(unsigned char *out, size_t outlen)-
194{-
195 CRYPTO_secure_clear_free(out, outlen, __FILE__, 305);-
196}
never executed: end of block
0
197-
198void rand_fork(void)-
199{-
200 rand_fork_count++;-
201}
never executed: end of block
0
202-
203static int do_rand_init(void); static int do_rand_init_ossl_ret_ = 0; static void do_rand_init_ossl_(void) { do_rand_init_ossl_ret_ = do_rand_init(); }
executed 2076 times by 12 tests: end of block
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
static int do_rand_init(void)
2076
204{-
205-
206 rand_engine_lock = CRYPTO_THREAD_lock_new();-
207 if (rand_engine_lock ==
rand_engine_lo...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
0-2076
208 ((void *)0)
rand_engine_lo...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
0-2076
209 )-
210 return
never executed: return 0;
0;
never executed: return 0;
0
211-
212-
213 rand_meth_lock = CRYPTO_THREAD_lock_new();-
214 if (rand_meth_lock ==
rand_meth_lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
0-2076
215 ((void *)0)
rand_meth_lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
0-2076
216 )-
217 goto
never executed: goto err1;
err1;
never executed: goto err1;
0
218-
219 rand_nonce_lock = CRYPTO_THREAD_lock_new();-
220 if (rand_nonce_lock ==
rand_nonce_lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
0-2076
221 ((void *)0)
rand_nonce_lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
0-2076
222 )-
223 goto
never executed: goto err2;
err2;
never executed: goto err2;
0
224-
225 if (!rand_cleaning_up
!rand_cleaning_upDescription
TRUEevaluated 1150 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 926 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm4_internal_test
  • x509_internal_test
&& !rand_pool_init()
!rand_pool_init()Description
TRUEnever evaluated
FALSEevaluated 1150 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-1150
226 goto
never executed: goto err3;
err3;
never executed: goto err3;
0
227-
228 return
executed 2076 times by 12 tests: return 1;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
1;
executed 2076 times by 12 tests: return 1;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
2076
229-
230err3:-
231 rand_pool_cleanup();-
232err2:
code before this statement never executed: err2:
0
233 CRYPTO_THREAD_lock_free(rand_meth_lock);-
234 rand_meth_lock = -
235 ((void *)0)-
236 ;-
237err1:
code before this statement never executed: err1:
0
238-
239 CRYPTO_THREAD_lock_free(rand_engine_lock);-
240 rand_engine_lock = -
241 ((void *)0)-
242 ;-
243-
244 return
never executed: return 0;
0;
never executed: return 0;
0
245}-
246-
247void rand_cleanup_int(void)-
248{-
249 const RAND_METHOD *meth = default_RAND_meth;-
250-
251 rand_cleaning_up = 1;-
252-
253 if (meth !=
meth != ((void *)0)Description
TRUEevaluated 1150 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 926 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm4_internal_test
  • x509_internal_test
926-1150
254 ((void *)0)
meth != ((void *)0)Description
TRUEevaluated 1150 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 926 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm4_internal_test
  • x509_internal_test
926-1150
255 && meth->cleanup !=
meth->cleanup != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1150 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1150
256 ((void *)0)
meth->cleanup != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1150 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1150
257 )-
258 meth->cleanup();
never executed: meth->cleanup();
0
259 RAND_set_rand_method(-
260 ((void *)0)-
261 );-
262 rand_pool_cleanup();-
263-
264 CRYPTO_THREAD_lock_free(rand_engine_lock);-
265 rand_engine_lock = -
266 ((void *)0)-
267 ;-
268-
269 CRYPTO_THREAD_lock_free(rand_meth_lock);-
270 rand_meth_lock = -
271 ((void *)0)-
272 ;-
273 CRYPTO_THREAD_lock_free(rand_nonce_lock);-
274 rand_nonce_lock = -
275 ((void *)0)-
276 ;-
277}
executed 2076 times by 12 tests: end of block
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
2076
278-
279-
280-
281-
282-
283void RAND_keep_random_devices_open(int keep)-
284{-
285 rand_pool_keep_random_devices_open(keep);-
286}
never executed: end of block
0
287int RAND_poll(void)-
288{-
289 int ret = 0;-
290-
291 RAND_POOL *pool = -
292 ((void *)0)-
293 ;-
294-
295 const RAND_METHOD *meth = RAND_get_rand_method();-
296-
297 if (meth == RAND_OpenSSL()
meth == RAND_OpenSSL()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
298-
299 RAND_DRBG *drbg = RAND_DRBG_get0_master();-
300-
301 if (drbg ==
drbg == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
302 ((void *)0)
drbg == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
303 )-
304 return
never executed: return 0;
0;
never executed: return 0;
0
305-
306 rand_drbg_lock(drbg);-
307 ret = rand_drbg_restart(drbg, -
308 ((void *)0)-
309 , 0, 0);-
310 rand_drbg_unlock(drbg);-
311-
312 return
never executed: return ret;
ret;
never executed: return ret;
0
313-
314 } else {-
315-
316 pool = rand_pool_new(256,-
317 256 / 8,-
318 128 * (256 / 8));-
319 if (pool ==
pool == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
320 ((void *)0)
pool == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
321 )-
322 return
never executed: return 0;
0;
never executed: return 0;
0
323-
324 if (rand_pool_acquire_entropy(pool) == 0
rand_pool_acqu...opy(pool) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
325 goto
never executed: goto err;
err;
never executed: goto err;
0
326-
327 if (meth->add ==
meth->add == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
328 ((void *)0)
meth->add == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
329 -
330 || meth->add(rand_pool_buffer(pool),
meth->add(rand...) / 8.0)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
331 rand_pool_length(pool),
meth->add(rand...) / 8.0)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
332 (rand_pool_entropy(pool) / 8.0)) == 0
meth->add(rand...) / 8.0)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
333 goto
never executed: goto err;
err;
never executed: goto err;
0
334-
335 ret = 1;-
336 }
never executed: end of block
0
337-
338err:
code before this statement never executed: err:
0
339 rand_pool_free(pool);-
340 return
never executed: return ret;
ret;
never executed: return ret;
0
341}-
342-
343-
344-
345-
346-
347RAND_POOL *rand_pool_new(int entropy, size_t min_len, size_t max_len)-
348{-
349 RAND_POOL *pool = CRYPTO_zalloc(sizeof(*pool), __FILE__, 435);-
350-
351 if (pool ==
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1061406 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1061406
352 ((void *)0)
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1061406 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1061406
353 ) {-
354 ERR_put_error(36,(116),((1|64)),__FILE__,438);-
355 goto
never executed: goto err;
err;
never executed: goto err;
0
356 }-
357-
358 pool->min_len = min_len;-
359 pool->max_len = max_len;-
360-
361 pool->buffer = CRYPTO_secure_zalloc(pool->max_len, __FILE__, 445);-
362 if (pool->buffer ==
pool->buffer == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1054013 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1054013
363 ((void *)0)
pool->buffer == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1054013 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1054013
364 ) {-
365 ERR_put_error(36,(116),((1|64)),__FILE__,447);-
366 goto
never executed: goto err;
err;
never executed: goto err;
0
367 }-
368-
369 pool->requested_entropy = entropy;-
370-
371 return
executed 1052595 times by 2 tests: return pool;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
pool;
executed 1052595 times by 2 tests: return pool;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1052595
372-
373err:-
374 CRYPTO_free(pool, __FILE__, 456);-
375 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
376 ((void *)0)
never executed: return ((void *)0) ;
0
377 ;
never executed: return ((void *)0) ;
0
378}-
379-
380-
381-
382-
383void rand_pool_free(RAND_POOL *pool)-
384{-
385 if (pool ==
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1051506 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1051506
386 ((void *)0)
pool == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1051506 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-1051506
387 )-
388 return;
never executed: return;
0
389-
390 CRYPTO_secure_clear_free(pool->buffer, pool->max_len, __FILE__, 468);-
391 CRYPTO_free(pool, __FILE__, 469);-
392}
executed 1046152 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1046152
393-
394-
395-
396-
397const unsigned char *rand_pool_buffer(RAND_POOL *pool)-
398{-
399 return
executed 19 times by 1 test: return pool->buffer;
Executed by:
  • libcrypto.so.1.1
pool->buffer;
executed 19 times by 1 test: return pool->buffer;
Executed by:
  • libcrypto.so.1.1
19
400}-
401-
402-
403-
404-
405size_t rand_pool_entropy(RAND_POOL *pool)-
406{-
407 return
executed 19 times by 1 test: return pool->entropy;
Executed by:
  • libcrypto.so.1.1
pool->entropy;
executed 19 times by 1 test: return pool->entropy;
Executed by:
  • libcrypto.so.1.1
19
408}-
409-
410-
411-
412-
413size_t rand_pool_length(RAND_POOL *pool)-
414{-
415 return
executed 1052292 times by 2 tests: return pool->len;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
pool->len;
executed 1052292 times by 2 tests: return pool->len;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1052292
416}-
417-
418-
419-
420-
421-
422-
423unsigned char *rand_pool_detach(RAND_POOL *pool)-
424{-
425 unsigned char *ret = pool->buffer;-
426 pool->buffer = -
427 ((void *)0)-
428 ;-
429 return
executed 1063882 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
ret;
executed 1063882 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1063882
430}-
431size_t rand_pool_entropy_available(RAND_POOL *pool)-
432{-
433 if (pool->entropy < pool->requested_entropy
pool->entropy ...uested_entropyDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1854 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
2-1854
434 return
executed 2 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 2 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
2
435-
436 if (pool->len < pool->min_len
pool->len < pool->min_lenDescription
TRUEnever evaluated
FALSEevaluated 1854 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-1854
437 return
never executed: return 0;
0;
never executed: return 0;
0
438-
439 return
executed 1854 times by 2 tests: return pool->entropy;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
pool->entropy;
executed 1854 times by 2 tests: return pool->entropy;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1854
440}-
441-
442-
443-
444-
445-
446-
447size_t rand_pool_entropy_needed(RAND_POOL *pool)-
448{-
449 if (pool->entropy < pool->requested_entropy
pool->entropy ...uested_entropyDescription
TRUEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
19-1837
450 return
executed 1837 times by 2 tests: return pool->requested_entropy - pool->entropy;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
pool->requested_entropy - pool->entropy;
executed 1837 times by 2 tests: return pool->requested_entropy - pool->entropy;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1837
451-
452 return
executed 19 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 19 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
19
453}-
454-
455-
456-
457-
458-
459-
460-
461size_t rand_pool_bytes_needed(RAND_POOL *pool, unsigned int entropy_factor)-
462{-
463 size_t bytes_needed;-
464 size_t entropy_needed = rand_pool_entropy_needed(pool);-
465-
466 if (entropy_factor < 1
entropy_factor < 1Description
TRUEnever evaluated
FALSEevaluated 1856 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-1856
467 ERR_put_error(36,(115),(105),__FILE__,561);-
468 return
never executed: return 0;
0;
never executed: return 0;
0
469 }-
470-
471 bytes_needed = (((entropy_needed) * (entropy_factor) + 7) / 8);-
472-
473 if (bytes_needed > pool->max_len - pool->len
bytes_needed >...en - pool->lenDescription
TRUEnever evaluated
FALSEevaluated 1856 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-1856
474-
475 ERR_put_error(36,(115),(125),__FILE__,569);-
476 return
never executed: return 0;
0;
never executed: return 0;
0
477 }-
478-
479 if (pool->len < pool->min_len
pool->len < pool->min_lenDescription
TRUEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&&
19-1837
480 bytes_needed < pool->min_len - pool->len
bytes_needed <...en - pool->lenDescription
TRUEnever evaluated
FALSEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-1837
481-
482 bytes_needed = pool->min_len - pool->len;
never executed: bytes_needed = pool->min_len - pool->len;
0
483-
484 return
executed 1856 times by 2 tests: return bytes_needed;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
bytes_needed;
executed 1856 times by 2 tests: return bytes_needed;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1856
485}-
486-
487-
488size_t rand_pool_bytes_remaining(RAND_POOL *pool)-
489{-
490 return
never executed: return pool->max_len - pool->len;
pool->max_len - pool->len;
never executed: return pool->max_len - pool->len;
0
491}-
492int rand_pool_add(RAND_POOL *pool,-
493 const unsigned char *buffer, size_t len, size_t entropy)-
494{-
495 if (len > pool->max_len - pool->len
len > pool->ma...en - pool->lenDescription
TRUEnever evaluated
FALSEevaluated 1049181 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-1049181
496 ERR_put_error(36,(103),(106),__FILE__,600);-
497 return
never executed: return 0;
0;
never executed: return 0;
0
498 }-
499-
500 if (len > 0
len > 0Description
TRUEevaluated 1055166 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
) {
0-1055166
501 memcpy(pool->buffer + pool->len, buffer, len);-
502 pool->len += len;-
503 pool->entropy += entropy;-
504 }
executed 1053685 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1053685
505-
506 return
executed 1056282 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1;
executed 1056282 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1056282
507}-
508unsigned char *rand_pool_add_begin(RAND_POOL *pool, size_t len)-
509{-
510 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-1837
511 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
512 ((void *)0)
never executed: return ((void *)0) ;
0
513 ;
never executed: return ((void *)0) ;
0
514-
515 if (len > pool->max_len - pool->len
len > pool->ma...en - pool->lenDescription
TRUEnever evaluated
FALSEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-1837
516 ERR_put_error(36,(113),(125),__FILE__,631);-
517 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
518 ((void *)0)
never executed: return ((void *)0) ;
0
519 ;
never executed: return ((void *)0) ;
0
520 }-
521-
522 return
executed 1837 times by 2 tests: return pool->buffer + pool->len;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
pool->buffer + pool->len;
executed 1837 times by 2 tests: return pool->buffer + pool->len;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1837
523}-
524int rand_pool_add_end(RAND_POOL *pool, size_t len, size_t entropy)-
525{-
526 if (len > pool->max_len - pool->len
len > pool->ma...en - pool->lenDescription
TRUEnever evaluated
FALSEevaluated 1837 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
0-1837
527 ERR_put_error(36,(114),(125),__FILE__,650);-
528 return
never executed: return 0;
0;
never executed: return 0;
0
529 }-
530-
531 if (len > 0
len > 0Description
TRUEevaluated 1835 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
2-1835
532 pool->len += len;-
533 pool->entropy += entropy;-
534 }
executed 1835 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1835
535-
536 return
executed 1837 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1;
executed 1837 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1837
537}-
538-
539int RAND_set_rand_method(const RAND_METHOD *meth)-
540{-
541 if (!(CRYPTO_THREAD_run_once(&rand_init, do_rand_init_ossl_)
CRYPTO_THREAD_...nd_init_ossl_)Description
TRUEevaluated 2088 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
? do_rand_init_ossl_ret_ : 0)
!(CRYPTO_THREA...ossl_ret_ : 0)Description
TRUEnever evaluated
FALSEevaluated 2088 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
)
0-2088
542 return
never executed: return 0;
0;
never executed: return 0;
0
543-
544 CRYPTO_THREAD_write_lock(rand_meth_lock);-
545-
546 ENGINE_finish(funct_ref);-
547 funct_ref = -
548 ((void *)0)-
549 ;-
550-
551 default_RAND_meth = meth;-
552 CRYPTO_THREAD_unlock(rand_meth_lock);-
553 return
executed 2088 times by 12 tests: return 1;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
1;
executed 2088 times by 12 tests: return 1;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
2088
554}-
555-
556const RAND_METHOD *RAND_get_rand_method(void)-
557{-
558 const RAND_METHOD *tmp_meth = -
559 ((void *)0)-
560 ;-
561-
562 if (!(CRYPTO_THREAD_run_once(&rand_init, do_rand_init_ossl_)
CRYPTO_THREAD_...nd_init_ossl_)Description
TRUEevaluated 1199521 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
? do_rand_init_ossl_ret_ : 0)
!(CRYPTO_THREA...ossl_ret_ : 0)Description
TRUEnever evaluated
FALSEevaluated 1198387 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-1199521
563 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
564 ((void *)0)
never executed: return ((void *)0) ;
0
565 ;
never executed: return ((void *)0) ;
0
566-
567 CRYPTO_THREAD_write_lock(rand_meth_lock);-
568 if (default_RAND_meth ==
default_RAND_m...== ((void *)0)Description
TRUEevaluated 1146 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 1212204 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
1146-1212204
569 ((void *)0)
default_RAND_m...== ((void *)0)Description
TRUEevaluated 1146 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 1212204 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
1146-1212204
570 ) {-
571-
572 ENGINE *e;-
573-
574-
575 if ((
(e = ENGINE_ge...!= ((void *)0)Description
TRUEevaluated 367 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 779 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
e = ENGINE_get_default_RAND()) !=
(e = ENGINE_ge...!= ((void *)0)Description
TRUEevaluated 367 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 779 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
367-779
576 ((void *)0)
(e = ENGINE_ge...!= ((void *)0)Description
TRUEevaluated 367 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 779 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
367-779
577 -
578 && (
(tmp_meth = EN...!= ((void *)0)Description
TRUEevaluated 367 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
tmp_meth = ENGINE_get_RAND(e)) !=
(tmp_meth = EN...!= ((void *)0)Description
TRUEevaluated 367 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-367
579 ((void *)0)
(tmp_meth = EN...!= ((void *)0)Description
TRUEevaluated 367 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-367
580 ) {-
581 funct_ref = e;-
582 default_RAND_meth = tmp_meth;-
583 }
executed 367 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
367
584 ENGINE_finish(e);-
585 default_RAND_meth = &rand_meth;-
586 }
executed 779 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
779
587-
588-
589-
590 }-
591 tmp_meth = default_RAND_meth;-
592 CRYPTO_THREAD_unlock(rand_meth_lock);-
593 return
executed 1212036 times by 2 tests: return tmp_meth;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
tmp_meth;
executed 1212036 times by 2 tests: return tmp_meth;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1212036
594}-
595-
596-
597int RAND_set_rand_engine(ENGINE *engine)-
598{-
599 const RAND_METHOD *tmp_meth = -
600 ((void *)0)-
601 ;-
602-
603 if (!(CRYPTO_THREAD_run_once(&rand_init, do_rand_init_ossl_)
CRYPTO_THREAD_...nd_init_ossl_)Description
TRUEnever evaluated
FALSEnever evaluated
? do_rand_init_ossl_ret_ : 0)
!(CRYPTO_THREA...ossl_ret_ : 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
604 return
never executed: return 0;
0;
never executed: return 0;
0
605-
606 if (engine !=
engine != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
607 ((void *)0)
engine != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
608 ) {-
609 if (!ENGINE_init(engine)
!ENGINE_init(engine)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
610 return
never executed: return 0;
0;
never executed: return 0;
0
611 tmp_meth = ENGINE_get_RAND(engine);-
612 if (tmp_meth ==
tmp_meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
613 ((void *)0)
tmp_meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
614 ) {-
615 ENGINE_finish(engine);-
616 return
never executed: return 0;
0;
never executed: return 0;
0
617 }-
618 }
never executed: end of block
0
619 CRYPTO_THREAD_write_lock(rand_engine_lock);-
620-
621 RAND_set_rand_method(tmp_meth);-
622 funct_ref = engine;-
623 CRYPTO_THREAD_unlock(rand_engine_lock);-
624 return
never executed: return 1;
1;
never executed: return 1;
0
625}-
626-
627-
628void RAND_seed(const void *buf, int num)-
629{-
630 const RAND_METHOD *meth = RAND_get_rand_method();-
631-
632 if (meth->seed !=
meth->seed != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
633 ((void *)0)
meth->seed != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
634 )-
635 meth->seed(buf, num);
never executed: meth->seed(buf, num);
0
636}
never executed: end of block
0
637-
638void RAND_add(const void *buf, int num, double randomness)-
639{-
640 const RAND_METHOD *meth = RAND_get_rand_method();-
641-
642 if (meth->add !=
meth->add != ((void *)0)Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-21
643 ((void *)0)
meth->add != ((void *)0)Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-21
644 )-
645 meth->add(buf, num, randomness);
executed 21 times by 1 test: meth->add(buf, num, randomness);
Executed by:
  • libcrypto.so.1.1
21
646}
executed 21 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
21
647-
648-
649-
650-
651-
652-
653int RAND_priv_bytes(unsigned char *buf, int num)-
654{-
655 const RAND_METHOD *meth = RAND_get_rand_method();-
656 RAND_DRBG *drbg;-
657 int ret;-
658-
659 if (meth != RAND_OpenSSL()
meth != RAND_OpenSSL()Description
TRUEevaluated 67542 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 498426 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
67542-498426
660 return
executed 67542 times by 2 tests: return RAND_bytes(buf, num);
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
RAND_bytes(buf, num);
executed 67542 times by 2 tests: return RAND_bytes(buf, num);
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
67542
661-
662 drbg = RAND_DRBG_get0_private();-
663 if (drbg ==
drbg == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 498481 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-498481
664 ((void *)0)
drbg == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 498481 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-498481
665 )-
666 return
never executed: return 0;
0;
never executed: return 0;
0
667-
668 ret = RAND_DRBG_bytes(drbg, buf, num);-
669 return
executed 497884 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
ret;
executed 497884 times by 2 tests: return ret;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
497884
670}-
671-
672int RAND_bytes(unsigned char *buf, int num)-
673{-
674 const RAND_METHOD *meth = RAND_get_rand_method();-
675-
676 if (meth->bytes !=
meth->bytes != ((void *)0)Description
TRUEevaluated 646698 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
0-646698
677 ((void *)0)
meth->bytes != ((void *)0)Description
TRUEevaluated 646698 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
0-646698
678 )-
679 return
executed 646684 times by 2 tests: return meth->bytes(buf, num);
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
meth->bytes(buf, num);
executed 646684 times by 2 tests: return meth->bytes(buf, num);
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
646684
680 ERR_put_error(36,(100),(101),__FILE__,777);-
681 return
never executed: return -1;
-1;
never executed: return -1;
0
682}-
683-
684-
685int RAND_pseudo_bytes(unsigned char *buf, int num)-
686{-
687 const RAND_METHOD *meth = RAND_get_rand_method();-
688-
689 if (meth->pseudorand !=
meth->pseudora...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
690 ((void *)0)
meth->pseudora...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
691 )-
692 return
never executed: return meth->pseudorand(buf, num);
meth->pseudorand(buf, num);
never executed: return meth->pseudorand(buf, num);
0
693 return
never executed: return -1;
-1;
never executed: return -1;
0
694}-
695-
696-
697int RAND_status(void)-
698{-
699 const RAND_METHOD *meth = RAND_get_rand_method();-
700-
701 if (meth->status !=
meth->status != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
702 ((void *)0)
meth->status != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
703 )-
704 return
never executed: return meth->status();
meth->status();
never executed: return meth->status();
0
705 return
never executed: return 0;
0;
never executed: return 0;
0
706}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2