OpenCoverage

p5_pbev2.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/asn1/p5_pbev2.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4static const ASN1_TEMPLATE PBE2PARAM_seq_tt[] = {-
5 { (0), (0), -
6 __builtin_offsetof (-
7 PBE2PARAM-
8 , -
9 keyfunc-
10 )-
11 , "keyfunc", (&(X509_ALGOR_it)) },-
12 { (0), (0), -
13 __builtin_offsetof (-
14 PBE2PARAM-
15 , -
16 encryption-
17 )-
18 , "encryption", (&(X509_ALGOR_it)) }-
19} ; const ASN1_ITEM PBE2PARAM_it = { 0x1, 16, PBE2PARAM_seq_tt, sizeof(PBE2PARAM_seq_tt) / sizeof(ASN1_TEMPLATE), -
20 ((void *)0)-
21 , sizeof(PBE2PARAM), "PBE2PARAM" };-
22-
23PBE2PARAM *d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len) { return
never executed: return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBE2PARAM_it)));
(PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBE2PARAM_it)));
never executed: return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBE2PARAM_it)));
} int i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) { return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBE2PARAM_it)));
ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBE2PARAM_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBE2PARAM_it)));
} PBE2PARAM *PBE2PARAM_new(void) { return
never executed: return (PBE2PARAM *)ASN1_item_new((&(PBE2PARAM_it)));
(PBE2PARAM *)ASN1_item_new((&(PBE2PARAM_it)));
never executed: return (PBE2PARAM *)ASN1_item_new((&(PBE2PARAM_it)));
} void PBE2PARAM_free(PBE2PARAM *a) { ASN1_item_free((ASN1_VALUE *)a, (&(PBE2PARAM_it))); }
never executed: end of block
0
24-
25static const ASN1_TEMPLATE PBKDF2PARAM_seq_tt[] = {-
26 { (0), (0), -
27 __builtin_offsetof (-
28 PBKDF2PARAM-
29 , -
30 salt-
31 )-
32 , "salt", (&(ASN1_ANY_it)) },-
33 { (0), (0), -
34 __builtin_offsetof (-
35 PBKDF2PARAM-
36 , -
37 iter-
38 )-
39 , "iter", (&(ASN1_INTEGER_it)) },-
40 { ((0x1)), (0), -
41 __builtin_offsetof (-
42 PBKDF2PARAM-
43 , -
44 keylength-
45 )-
46 , "keylength", (&(ASN1_INTEGER_it)) },-
47 { ((0x1)), (0), -
48 __builtin_offsetof (-
49 PBKDF2PARAM-
50 , -
51 prf-
52 )-
53 , "prf", (&(X509_ALGOR_it)) }-
54} ; const ASN1_ITEM PBKDF2PARAM_it = { 0x1, 16, PBKDF2PARAM_seq_tt, sizeof(PBKDF2PARAM_seq_tt) / sizeof(ASN1_TEMPLATE), -
55 ((void *)0)-
56 , sizeof(PBKDF2PARAM), "PBKDF2PARAM" };-
57-
58PBKDF2PARAM *d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len) { return
never executed: return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBKDF2PARAM_it)));
(PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBKDF2PARAM_it)));
never executed: return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBKDF2PARAM_it)));
} int i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) { return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBKDF2PARAM_it)));
ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBKDF2PARAM_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBKDF2PARAM_it)));
} PBKDF2PARAM *PBKDF2PARAM_new(void) { return
never executed: return (PBKDF2PARAM *)ASN1_item_new((&(PBKDF2PARAM_it)));
(PBKDF2PARAM *)ASN1_item_new((&(PBKDF2PARAM_it)));
never executed: return (PBKDF2PARAM *)ASN1_item_new((&(PBKDF2PARAM_it)));
} void PBKDF2PARAM_free(PBKDF2PARAM *a) { ASN1_item_free((ASN1_VALUE *)a, (&(PBKDF2PARAM_it))); }
never executed: end of block
0
59-
60-
61-
62-
63-
64-
65-
66X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,-
67 unsigned char *salt, int saltlen,-
68 unsigned char *aiv, int prf_nid)-
69{-
70 X509_ALGOR *scheme = -
71 ((void *)0)-
72 , *ret = -
73 ((void *)0)-
74 ;-
75 int alg_nid, keylen;-
76 EVP_CIPHER_CTX *ctx = -
77 ((void *)0)-
78 ;-
79 unsigned char iv[16];-
80 PBE2PARAM *pbe2 = -
81 ((void *)0)-
82 ;-
83-
84 alg_nid = EVP_CIPHER_type(cipher);-
85 if (alg_nid == 0
alg_nid == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
86 ERR_put_error(13,(167),(108),__FILE__,53)-
87 ;-
88 goto
never executed: goto err;
err;
never executed: goto err;
0
89 }-
90-
91 if ((
(pbe2 = PBE2PA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pbe2 = PBE2PARAM_new()) ==
(pbe2 = PBE2PA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
92 ((void *)0)
(pbe2 = PBE2PA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
93 )-
94 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
95-
96-
97 scheme = pbe2->encryption;-
98 scheme->algorithm = OBJ_nid2obj(alg_nid);-
99 if ((
(scheme->param...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
scheme->parameter = ASN1_TYPE_new()) ==
(scheme->param...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
100 ((void *)0)
(scheme->param...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
101 )-
102 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
103-
104-
105 if (EVP_CIPHER_iv_length(cipher)
EVP_CIPHER_iv_length(cipher)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
106 if (aiv
aivDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
107 memcpy(iv, aiv, EVP_CIPHER_iv_length(cipher));
never executed: memcpy(iv, aiv, EVP_CIPHER_iv_length(cipher));
0
108 else if (RAND_bytes(iv, EVP_CIPHER_iv_length(cipher)) <= 0
RAND_bytes(iv,...(cipher)) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
109 goto
never executed: goto err;
err;
never executed: goto err;
0
110 }
never executed: end of block
0
111-
112 ctx = EVP_CIPHER_CTX_new();-
113 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
114 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
115 )-
116 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
117-
118-
119 if (!EVP_CipherInit_ex(ctx, cipher,
!EVP_CipherIni... *)0) , iv, 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
120 ((void *)0)
!EVP_CipherIni... *)0) , iv, 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
121 ,
!EVP_CipherIni... *)0) , iv, 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
122 ((void *)0)
!EVP_CipherIni... *)0) , iv, 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
123 , iv, 0)
!EVP_CipherIni... *)0) , iv, 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
124 goto
never executed: goto err;
err;
never executed: goto err;
0
125 if (EVP_CIPHER_param_to_asn1(ctx, scheme->parameter) <= 0
EVP_CIPHER_par...arameter) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
126 ERR_put_error(13,(167),(114),__FILE__,82);-
127 goto
never executed: goto err;
err;
never executed: goto err;
0
128 }-
129-
130-
131-
132-
133 if ((
(prf_nid == -1)Description
TRUEnever evaluated
FALSEnever evaluated
prf_nid == -1)
(prf_nid == -1)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
134 EVP_CIPHER_CTX_ctrl(ctx, 0x7, 0, &prf_nid) <= 0
EVP_CIPHER_CTX...&prf_nid) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
135 ERR_clear_error();-
136 prf_nid = 799;-
137 }
never executed: end of block
0
138 EVP_CIPHER_CTX_free(ctx);-
139 ctx = -
140 ((void *)0)-
141 ;-
142-
143-
144-
145 if (alg_nid == 37
alg_nid == 37Description
TRUEnever evaluated
FALSEnever evaluated
)
0
146 keylen = EVP_CIPHER_key_length(cipher);
never executed: keylen = EVP_CIPHER_key_length(cipher);
0
147 else-
148 keylen = -1;
never executed: keylen = -1;
0
149-
150-
151-
152 X509_ALGOR_free(pbe2->keyfunc);-
153-
154 pbe2->keyfunc = PKCS5_pbkdf2_set(iter, salt, saltlen, prf_nid, keylen);-
155-
156 if (!pbe2->keyfunc
!pbe2->keyfuncDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
157 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
158-
159-
160-
161 if ((
(ret = X509_AL...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret = X509_ALGOR_new()) ==
(ret = X509_AL...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
162 ((void *)0)
(ret = X509_AL...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
163 )-
164 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
165-
166 ret->algorithm = OBJ_nid2obj(161);-
167-
168-
169-
170 if (!ASN1_TYPE_pack_sequence((&(PBE2PARAM_it)), pbe2,
!ASN1_TYPE_pac...et->parameter)Description
TRUEnever evaluated
FALSEnever evaluated
0
171 &ret->parameter)
!ASN1_TYPE_pac...et->parameter)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
172 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
173-
174 PBE2PARAM_free(pbe2);-
175 pbe2 = -
176 ((void *)0)-
177 ;-
178-
179 return
never executed: return ret;
ret;
never executed: return ret;
0
180-
181 merr:-
182 ERR_put_error(13,(167),((1|64)),__FILE__,132);-
183-
184 err:
code before this statement never executed: err:
0
185 EVP_CIPHER_CTX_free(ctx);-
186 PBE2PARAM_free(pbe2);-
187-
188 X509_ALGOR_free(ret);-
189-
190 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
191 ((void *)0)
never executed: return ((void *)0) ;
0
192 ;
never executed: return ((void *)0) ;
0
193}-
194-
195X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,-
196 unsigned char *salt, int saltlen)-
197{-
198 return
never executed: return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, ((void *)0) , -1);
PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen,
never executed: return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, ((void *)0) , -1);
0
199 ((void *)0)
never executed: return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, ((void *)0) , -1);
0
200 , -1);
never executed: return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, ((void *)0) , -1);
0
201}-
202-
203X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen,-
204 int prf_nid, int keylen)-
205{-
206 X509_ALGOR *keyfunc = -
207 ((void *)0)-
208 ;-
209 PBKDF2PARAM *kdf = -
210 ((void *)0)-
211 ;-
212 ASN1_OCTET_STRING *osalt = -
213 ((void *)0)-
214 ;-
215-
216 if ((
(kdf = PBKDF2P...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
kdf = PBKDF2PARAM_new()) ==
(kdf = PBKDF2P...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
217 ((void *)0)
(kdf = PBKDF2P...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
218 )-
219 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
220 if ((
(osalt = ASN1_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
osalt = ASN1_OCTET_STRING_new()) ==
(osalt = ASN1_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
221 ((void *)0)
(osalt = ASN1_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
222 )-
223 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
224-
225 kdf->salt->value.octet_string = osalt;-
226 kdf->salt->type = 4;-
227-
228 if (saltlen == 0
saltlen == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
229 saltlen = 8;
never executed: saltlen = 8;
0
230 if ((
(osalt->data =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
osalt->data = CRYPTO_malloc(saltlen, __FILE__, 166)) ==
(osalt->data =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
231 ((void *)0)
(osalt->data =...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
232 )-
233 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
234-
235 osalt->length = saltlen;-
236-
237 if (salt
saltDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
238 memcpy(osalt->data, salt, saltlen);
never executed: memcpy(osalt->data, salt, saltlen);
0
239 else if (RAND_bytes(osalt->data, saltlen) <= 0
RAND_bytes(osa... saltlen) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
240 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
241-
242 if (iter <= 0
iter <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
243 iter = 2048;
never executed: iter = 2048;
0
244-
245 if (!ASN1_INTEGER_set(kdf->iter, iter)
!ASN1_INTEGER_...f->iter, iter)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
246 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
247-
248-
249-
250 if (keylen > 0
keylen > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
251 if ((
(kdf->keylengt...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
kdf->keylength = ASN1_INTEGER_new()) ==
(kdf->keylengt...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
252 ((void *)0)
(kdf->keylengt...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
253 )-
254 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
255 if (!ASN1_INTEGER_set(kdf->keylength, keylen)
!ASN1_INTEGER_...ength, keylen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
256 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
257 }
never executed: end of block
0
258-
259-
260 if (prf_nid > 0
prf_nid > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& prf_nid != 163
prf_nid != 163Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
261 kdf->prf = X509_ALGOR_new();-
262 if (kdf->prf ==
kdf->prf == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
263 ((void *)0)
kdf->prf == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
264 )-
265 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
266 X509_ALGOR_set0(kdf->prf, OBJ_nid2obj(prf_nid), 5, -
267 ((void *)0)-
268 );-
269 }
never executed: end of block
0
270-
271-
272-
273 keyfunc = X509_ALGOR_new();-
274 if (keyfunc ==
keyfunc == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
275 ((void *)0)
keyfunc == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
276 )-
277 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
278-
279 keyfunc->algorithm = OBJ_nid2obj(69);-
280-
281-
282-
283 if (!ASN1_TYPE_pack_sequence((&(PBKDF2PARAM_it)), kdf,
!ASN1_TYPE_pac...nc->parameter)Description
TRUEnever evaluated
FALSEnever evaluated
0
284 &keyfunc->parameter)
!ASN1_TYPE_pac...nc->parameter)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
285 goto
never executed: goto merr;
merr;
never executed: goto merr;
0
286-
287 PBKDF2PARAM_free(kdf);-
288 return
never executed: return keyfunc;
keyfunc;
never executed: return keyfunc;
0
289-
290 merr:-
291 ERR_put_error(13,(219),((1|64)),__FILE__,217);-
292 PBKDF2PARAM_free(kdf);-
293 X509_ALGOR_free(keyfunc);-
294 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
295 ((void *)0)
never executed: return ((void *)0) ;
0
296 ;
never executed: return ((void *)0) ;
0
297}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2