OpenCoverage

eng_rdrand.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/engine/eng_rdrand.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2size_t OPENSSL_ia32_rdrand_bytes(unsigned char *buf, size_t len);-
3-
4static int get_random_bytes(unsigned char *buf, int num)-
5{-
6 if (num < 0
num < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
7 return
never executed: return 0;
0;
never executed: return 0;
0
8 }-
9-
10 return
never executed: return (size_t)num == OPENSSL_ia32_rdrand_bytes(buf, (size_t)num);
(size_t)num == OPENSSL_ia32_rdrand_bytes(buf, (size_t)num);
never executed: return (size_t)num == OPENSSL_ia32_rdrand_bytes(buf, (size_t)num);
0
11}-
12-
13static int random_status(void)-
14{-
15 return
never executed: return 1;
1;
never executed: return 1;
0
16}-
17-
18static RAND_METHOD rdrand_meth = {-
19 -
20 ((void *)0)-
21 ,-
22 get_random_bytes,-
23 -
24 ((void *)0)-
25 ,-
26 -
27 ((void *)0)-
28 ,-
29 get_random_bytes,-
30 random_status,-
31};-
32-
33static int rdrand_init(ENGINE *e)-
34{-
35 return
never executed: return 1;
1;
never executed: return 1;
0
36}-
37-
38static const char *engine_e_rdrand_id = "rdrand";-
39static const char *engine_e_rdrand_name = "Intel RDRAND engine";-
40-
41static int bind_helper(ENGINE *e)-
42{-
43 if (!ENGINE_set_id(e, engine_e_rdrand_id)
!ENGINE_set_id...e_e_rdrand_id)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
44 !ENGINE_set_name(e, engine_e_rdrand_name)
!ENGINE_set_na...e_rdrand_name)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
45 !ENGINE_set_flags(e, (int)0x0008)
!ENGINE_set_fl..., (int)0x0008)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
46 !ENGINE_set_init_function(e, rdrand_init)
!ENGINE_set_in..., rdrand_init)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
47 !ENGINE_set_RAND(e, &rdrand_meth)
!ENGINE_set_RA... &rdrand_meth)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
48 return
never executed: return 0;
0;
never executed: return 0;
0
49-
50 return
never executed: return 1;
1;
never executed: return 1;
0
51}-
52-
53static ENGINE *ENGINE_rdrand(void)-
54{-
55 ENGINE *ret = ENGINE_new();-
56 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
57 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
58 )-
59 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
60 ((void *)0)
never executed: return ((void *)0) ;
0
61 ;
never executed: return ((void *)0) ;
0
62 if (!bind_helper(ret)
!bind_helper(ret)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
63 ENGINE_free(ret);-
64 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
65 ((void *)0)
never executed: return ((void *)0) ;
0
66 ;
never executed: return ((void *)0) ;
0
67 }-
68 return
never executed: return ret;
ret;
never executed: return ret;
0
69}-
70-
71void engine_load_rdrand_int(void)-
72{-
73 extern unsigned int OPENSSL_ia32cap_P[];-
74-
75 if (OPENSSL_ia32cap_P[1] & (1 << (62 - 32))
OPENSSL_ia32ca... << (62 - 32))Description
TRUEnever evaluated
FALSEevaluated 1959 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1959
76 ENGINE *toadd = ENGINE_rdrand();-
77 if (!toadd
!toaddDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
78 return;
never executed: return;
0
79 ENGINE_add(toadd);-
80 ENGINE_free(toadd);-
81 ERR_clear_error();-
82 }
never executed: end of block
0
83}
executed 1959 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1959
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2