OpenCoverage

hm_ameth.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/hmac/hm_ameth.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static int hmac_size(const EVP_PKEY *pkey)-
8{-
9 return
never executed: return 64;
64;
never executed: return 64;
0
10}-
11-
12static void hmac_key_free(EVP_PKEY *pkey)-
13{-
14 ASN1_OCTET_STRING *os = EVP_PKEY_get0(pkey);-
15 if (os
osDescription
TRUEevaluated 19206 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
) {
0-19206
16 if (os->data
os->dataDescription
TRUEevaluated 19206 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-19206
17 OPENSSL_cleanse(os->data, os->length);
executed 19206 times by 1 test: OPENSSL_cleanse(os->data, os->length);
Executed by:
  • libcrypto.so.1.1
19206
18 ASN1_OCTET_STRING_free(os);-
19 }
executed 19206 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
19206
20}
executed 19206 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
19206
21-
22static int hmac_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)-
23{-
24 switch (op) {-
25 case
never executed: case 0x3:
0x3:
never executed: case 0x3:
0
26 *(int *)arg2 = 672;-
27 return
never executed: return 1;
1;
never executed: return 1;
0
28-
29 default
never executed: default:
:
never executed: default:
0
30 return
never executed: return -2;
-2;
never executed: return -2;
0
31 }-
32}-
33-
34static int hmac_pkey_public_cmp(const EVP_PKEY *a, const EVP_PKEY *b)-
35{-
36 return
never executed: return ASN1_OCTET_STRING_cmp(EVP_PKEY_get0(a), EVP_PKEY_get0(b));
ASN1_OCTET_STRING_cmp(EVP_PKEY_get0(a), EVP_PKEY_get0(b));
never executed: return ASN1_OCTET_STRING_cmp(EVP_PKEY_get0(a), EVP_PKEY_get0(b));
0
37}-
38-
39static int hmac_set_priv_key(EVP_PKEY *pkey, const unsigned char *priv,-
40 size_t len)-
41{-
42 ASN1_OCTET_STRING *os;-
43-
44 if (pkey->pkey.ptr !=
pkey->pkey.ptr != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16460 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-16460
45 ((void *)0)
pkey->pkey.ptr != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16460 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-16460
46 )-
47 return
never executed: return 0;
0;
never executed: return 0;
0
48-
49 os = ASN1_OCTET_STRING_new();-
50 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16460 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-16460
51 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16460 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-16460
52 )-
53 return
never executed: return 0;
0;
never executed: return 0;
0
54-
55-
56 if (!ASN1_OCTET_STRING_set(os, priv, len)
!ASN1_OCTET_ST...os, priv, len)Description
TRUEnever evaluated
FALSEevaluated 16460 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-16460
57 ASN1_OCTET_STRING_free(os);-
58 return
never executed: return 0;
0;
never executed: return 0;
0
59 }-
60-
61 pkey->pkey.ptr = os;-
62 return
executed 16460 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 16460 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
16460
63}-
64-
65static int hmac_get_priv_key(const EVP_PKEY *pkey, unsigned char *priv,-
66 size_t *len)-
67{-
68 ASN1_OCTET_STRING *os = (ASN1_OCTET_STRING *)pkey->pkey.ptr;-
69-
70 if (priv ==
priv == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
71 ((void *)0)
priv == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
72 ) {-
73 *len = ASN1_STRING_length(os);-
74 return
never executed: return 1;
1;
never executed: return 1;
0
75 }-
76-
77 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
78 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
79 || *
*len < (size_t...ING_length(os)Description
TRUEnever evaluated
FALSEnever evaluated
len < (size_t)ASN1_STRING_length(os)
*len < (size_t...ING_length(os)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
80 return
never executed: return 0;
0;
never executed: return 0;
0
81-
82 *len = ASN1_STRING_length(os);-
83 memcpy(priv, ASN1_STRING_get0_data(os), *len);-
84-
85 return
never executed: return 1;
1;
never executed: return 1;
0
86}-
87-
88const EVP_PKEY_ASN1_METHOD hmac_asn1_meth = {-
89 855,-
90 855,-
91 0,-
92-
93 "HMAC",-
94 "OpenSSL HMAC method",-
95-
96 0, 0, hmac_pkey_public_cmp, 0,-
97-
98 0, 0, 0,-
99-
100 hmac_size,-
101 0, 0,-
102 0, 0, 0, 0, 0, 0, 0,-
103-
104 hmac_key_free,-
105 hmac_pkey_ctrl,-
106 -
107 ((void *)0)-
108 ,-
109 -
110 ((void *)0)-
111 ,-
112-
113 -
114 ((void *)0)-
115 ,-
116 -
117 ((void *)0)-
118 ,-
119 -
120 ((void *)0)-
121 ,-
122-
123 -
124 ((void *)0)-
125 ,-
126 -
127 ((void *)0)-
128 ,-
129 -
130 ((void *)0)-
131 ,-
132-
133 hmac_set_priv_key,-
134 -
135 ((void *)0)-
136 ,-
137 hmac_get_priv_key,-
138 -
139 ((void *)0)-
140 ,-
141};-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2