OpenCoverage

p5_crpt.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/evp/p5_crpt.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6void-
7PKCS5_PBE_add(void)-
8{-
9}-
10-
11int-
12PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen,-
13 ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de)-
14{-
15 EVP_MD_CTX ctx;-
16 unsigned char md_tmp[64];-
17 unsigned char key[64], iv[16];-
18 int i;-
19 PBEPARAM *pbe;-
20 int saltlen, iter;-
21 unsigned char *salt;-
22 const unsigned char *pbuf;-
23 int mdsize;-
24 int rv = 0;-
25-
26-
27 if (param ==
param == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
28 ((void *)0)
param == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
29 || param->type != 16
param->type != 16Description
TRUEnever evaluated
FALSEnever evaluated
||
0
30 param->value.sequence ==
param->value.s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
31 ((void *)0)
param->value.s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
32 ) {-
33 ERR_put_error(6,(0xfff),(114),__FILE__,93);-
34 return
never executed: return 0;
0;
never executed: return 0;
0
35 }-
36-
37 mdsize = EVP_MD_size(md);-
38 if (mdsize < 0
mdsize < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
39 return
never executed: return 0;
0;
never executed: return 0;
0
40-
41 pbuf = param->value.sequence->data;-
42 if (!(pbe = d2i_PBEPARAM(
!(pbe = d2i_PB...ence->length))Description
TRUEnever evaluated
FALSEnever evaluated
0
43 ((void *)0)
!(pbe = d2i_PB...ence->length))Description
TRUEnever evaluated
FALSEnever evaluated
0
44 , &pbuf, param->value.sequence->length))
!(pbe = d2i_PB...ence->length))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
45 ERR_put_error(6,(0xfff),(114),__FILE__,103);-
46 return
never executed: return 0;
0;
never executed: return 0;
0
47 }-
48-
49 if (!pbe->iter
!pbe->iterDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
50 iter = 1;
never executed: iter = 1;
0
51 else if ((
(iter = ASN1_I...e->iter)) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
iter = ASN1_INTEGER_get(pbe->iter)) <= 0
(iter = ASN1_I...e->iter)) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
52 ERR_put_error(6,(0xfff),(135),__FILE__,110);-
53 return
never executed: return 0;
0;
never executed: return 0;
0
54 }-
55 salt = pbe->salt->data;-
56 saltlen = pbe->salt->length;-
57-
58 if (!pass
!passDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
59 passlen = 0;
never executed: passlen = 0;
0
60 else if (passlen == -1
passlen == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
61 passlen = strlen(pass);
never executed: passlen = strlen(pass);
0
62-
63 EVP_MD_CTX_init(&ctx);-
64-
65 if (!EVP_DigestInit_ex(&ctx, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
66 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
67 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
68 goto
never executed: goto err;
err;
never executed: goto err;
0
69 if (!EVP_DigestUpdate(&ctx, pass, passlen)
!EVP_DigestUpd...pass, passlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
70 goto
never executed: goto err;
err;
never executed: goto err;
0
71 if (!EVP_DigestUpdate(&ctx, salt, saltlen)
!EVP_DigestUpd...salt, saltlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
72 goto
never executed: goto err;
err;
never executed: goto err;
0
73 if (!EVP_DigestFinal_ex(&ctx, md_tmp,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
74 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
75 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
76 goto
never executed: goto err;
err;
never executed: goto err;
0
77 for (i = 1; i < iter
i < iterDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
78 if (!EVP_DigestInit_ex(&ctx, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
79 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
80 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
81 goto
never executed: goto err;
err;
never executed: goto err;
0
82 if (!EVP_DigestUpdate(&ctx, md_tmp, mdsize)
!EVP_DigestUpd...d_tmp, mdsize)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
83 goto
never executed: goto err;
err;
never executed: goto err;
0
84 if (!EVP_DigestFinal_ex (&ctx, md_tmp,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
85 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
86 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
87 goto
never executed: goto err;
err;
never executed: goto err;
0
88 }
never executed: end of block
0
89 if ((
(size_t)EVP_CI...sizeof(md_tmp)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)EVP_CIPHER_key_length(cipher) > sizeof(md_tmp)
(size_t)EVP_CI...sizeof(md_tmp)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
90 ERR_put_error(6,(0xfff),(137),__FILE__,140);-
91 goto
never executed: goto err;
err;
never executed: goto err;
0
92 }-
93 memcpy(key, md_tmp, EVP_CIPHER_key_length(cipher));-
94 if ((
(size_t)EVP_CI...h(cipher) > 16Description
TRUEnever evaluated
FALSEnever evaluated
size_t)EVP_CIPHER_iv_length(cipher) > 16
(size_t)EVP_CI...h(cipher) > 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
95 ERR_put_error(6,(0xfff),(102),__FILE__,145);-
96 goto
never executed: goto err;
err;
never executed: goto err;
0
97 }-
98 memcpy(iv, md_tmp + (16 - EVP_CIPHER_iv_length(cipher)),-
99 EVP_CIPHER_iv_length(cipher));-
100 if (!EVP_CipherInit_ex(cctx, cipher,
!EVP_CipherIni...ey, iv, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
0
101 ((void *)0)
!EVP_CipherIni...ey, iv, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
0
102 , key, iv, en_de)
!EVP_CipherIni...ey, iv, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
103 goto
never executed: goto err;
err;
never executed: goto err;
0
104 explicit_bzero(md_tmp, 64);-
105 explicit_bzero(key, 64);-
106 explicit_bzero(iv, 16);-
107 rv = 1;-
108err:
code before this statement never executed: err:
0
109 EVP_MD_CTX_cleanup(&ctx);-
110 PBEPARAM_free(pbe);-
111 return
never executed: return rv;
rv;
never executed: return rv;
0
112}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2