OpenCoverage

p5_crpt.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/evp/p5_crpt.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7void PKCS5_PBE_add(void)-
8{-
9}-
10-
11int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen,-
12 ASN1_TYPE *param, const EVP_CIPHER *cipher,-
13 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 int mdsize;-
23 int rv = 0;-
24-
25-
26 if (param ==
param == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
27 ((void *)0)
param == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
28 || param->type != 16
param->type != 16Description
TRUEnever evaluated
FALSEnever evaluated
||
0
29 param->value.sequence ==
param->value.s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
30 ((void *)0)
param->value.s...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
31 ) {-
32 ERR_put_error(6,(117),(114),__FILE__,41);-
33 return
never executed: return 0;
0;
never executed: return 0;
0
34 }-
35-
36 pbe = ASN1_TYPE_unpack_sequence((&(PBEPARAM_it)), param);-
37 if (pbe ==
pbe == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
38 ((void *)0)
pbe == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
39 ) {-
40 ERR_put_error(6,(117),(114),__FILE__,47);-
41 return
never executed: return 0;
0;
never executed: return 0;
0
42 }-
43-
44 if (!pbe->iter
!pbe->iterDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
45 iter = 1;
never executed: iter = 1;
0
46 else-
47 iter = ASN1_INTEGER_get(pbe->iter);
never executed: iter = ASN1_INTEGER_get(pbe->iter);
0
48 salt = pbe->salt->data;-
49 saltlen = pbe->salt->length;-
50-
51 if (!pass
!passDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
52 passlen = 0;
never executed: passlen = 0;
0
53 else if (passlen == -1
passlen == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
54 passlen = strlen(pass);
never executed: passlen = strlen(pass);
0
55-
56 ctx = EVP_MD_CTX_new();-
57 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
58 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
59 ) {-
60 ERR_put_error(6,(117),((1|64)),__FILE__,65);-
61 goto
never executed: goto err;
err;
never executed: goto err;
0
62 }-
63-
64 if (!EVP_DigestInit_ex(ctx, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
65 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
66 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
67 goto
never executed: goto err;
err;
never executed: goto err;
0
68 if (!EVP_DigestUpdate(ctx, pass, passlen)
!EVP_DigestUpd...pass, passlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
69 goto
never executed: goto err;
err;
never executed: goto err;
0
70 if (!EVP_DigestUpdate(ctx, salt, saltlen)
!EVP_DigestUpd...salt, saltlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
71 goto
never executed: goto err;
err;
never executed: goto err;
0
72 PBEPARAM_free(pbe);-
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 mdsize = EVP_MD_size(md);-
78 if (mdsize < 0
mdsize < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
79 return
never executed: return 0;
0;
never executed: return 0;
0
80 for (i = 1; i < iter
i < iterDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
81 if (!EVP_DigestInit_ex(ctx, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
82 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
83 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
84 goto
never executed: goto err;
err;
never executed: goto err;
0
85 if (!EVP_DigestUpdate(ctx, md_tmp, mdsize)
!EVP_DigestUpd...d_tmp, mdsize)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
86 goto
never executed: goto err;
err;
never executed: goto err;
0
87 if (!EVP_DigestFinal_ex(ctx, md_tmp,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
88 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
89 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
90 goto
never executed: goto err;
err;
never executed: goto err;
0
91 }
never executed: end of block
0
92 (void)((EVP_CIPHER_key_length(cipher) <= (int)sizeof(md_tmp)) ? 0 : (OPENSSL_die("assertion failed: " "EVP_CIPHER_key_length(cipher) <= (int)sizeof(md_tmp)", __FILE__, 89), 1));-
93 memcpy(key, md_tmp, EVP_CIPHER_key_length(cipher));-
94 (void)((EVP_CIPHER_iv_length(cipher) <= 16) ? 0 : (OPENSSL_die("assertion failed: " "EVP_CIPHER_iv_length(cipher) <= 16", __FILE__, 91), 1));-
95 memcpy(iv, md_tmp + (16 - EVP_CIPHER_iv_length(cipher)),-
96 EVP_CIPHER_iv_length(cipher));-
97 if (!EVP_CipherInit_ex(cctx, cipher,
!EVP_CipherIni...ey, iv, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
0
98 ((void *)0)
!EVP_CipherIni...ey, iv, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
0
99 , key, iv, en_de)
!EVP_CipherIni...ey, iv, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
100 goto
never executed: goto err;
err;
never executed: goto err;
0
101 OPENSSL_cleanse(md_tmp, 64);-
102 OPENSSL_cleanse(key, 64);-
103 OPENSSL_cleanse(iv, 16);-
104 rv = 1;-
105 err:
code before this statement never executed: err:
0
106 EVP_MD_CTX_free(ctx);-
107 return
never executed: return rv;
rv;
never executed: return rv;
0
108}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2