OpenCoverage

p12_decr.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/pkcs12/p12_decr.c
Switch to Source codePreprocessed file
LineSourceCount
1unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor,-
2 const char *pass, int passlen,-
3 const unsigned char *in, int inlen,-
4 unsigned char **data, int *datalen, int en_de)-
5{-
6 unsigned char *out = -
7 ((void *)0)-
8 ;-
9 int outlen, i;-
10 EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();-
11-
12 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
13 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
14 ) {-
15 ERR_put_error(35,(119),((1|64)),__FILE__,33);-
16 goto
never executed: goto err;
err;
never executed: goto err;
0
17 }-
18-
19-
20 if (!EVP_PBE_CipherInit(algor->algorithm, pass, passlen,
!EVP_PBE_Ciphe...r, ctx, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
0
21 algor->parameter, ctx, en_de)
!EVP_PBE_Ciphe...r, ctx, en_de)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
22 ERR_put_error(35,(119),(115),__FILE__,41)-
23 ;-
24 goto
never executed: goto err;
err;
never executed: goto err;
0
25 }-
26-
27 if ((
(out = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
out = CRYPTO_malloc(inlen + EVP_CIPHER_CTX_block_size(ctx), __FILE__, 45))
(out = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
28 ==
(out = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
29 ((void *)0)
(out = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
30 ) {-
31 ERR_put_error(35,(119),((1|64)),__FILE__,47);-
32 goto
never executed: goto err;
err;
never executed: goto err;
0
33 }-
34-
35 if (!EVP_CipherUpdate(ctx, out, &i, in, inlen)
!EVP_CipherUpd...&i, in, inlen)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
36 CRYPTO_free(out, __FILE__, 52);-
37 out = -
38 ((void *)0)-
39 ;-
40 ERR_put_error(35,(119),(6),__FILE__,54);-
41 goto
never executed: goto err;
err;
never executed: goto err;
0
42 }-
43-
44 outlen = i;-
45 if (!EVP_CipherFinal_ex(ctx, out + i, &i)
!EVP_CipherFin..., out + i, &i)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
46 CRYPTO_free(out, __FILE__, 60);-
47 out = -
48 ((void *)0)-
49 ;-
50 ERR_put_error(35,(119),(116),__FILE__,63)-
51 ;-
52 goto
never executed: goto err;
err;
never executed: goto err;
0
53 }-
54 outlen += i;-
55 if (datalen
datalenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
56 *
never executed: *datalen = outlen;
datalen = outlen;
never executed: *datalen = outlen;
0
57 if (data
dataDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
58 *
never executed: *data = out;
data = out;
never executed: *data = out;
0
59 err:
code before this statement never executed: err:
0
60 EVP_CIPHER_CTX_free(ctx);-
61 return
never executed: return out;
out;
never executed: return out;
0
62-
63}-
64-
65-
66-
67-
68-
69-
70void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it,-
71 const char *pass, int passlen,-
72 const ASN1_OCTET_STRING *oct, int zbuf)-
73{-
74 unsigned char *out;-
75 const unsigned char *p;-
76 void *ret;-
77 int outlen;-
78-
79 if (!PKCS12_pbe_crypt(algor, pass, passlen, oct->data, oct->length,
!PKCS12_pbe_cr...t, &outlen, 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
80 &out, &outlen, 0)
!PKCS12_pbe_cr...t, &outlen, 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
81 ERR_put_error(35,(106),(117),__FILE__,94)-
82 ;-
83 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
84 ((void *)0)
never executed: return ((void *)0) ;
0
85 ;
never executed: return ((void *)0) ;
0
86 }-
87 p = out;-
88 ret = ASN1_item_d2i(-
89 ((void *)0)-
90 , &p, outlen, it);-
91 if (zbuf
zbufDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
92 OPENSSL_cleanse(out, outlen);
never executed: OPENSSL_cleanse(out, outlen);
0
93 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
94 ERR_put_error(35,(106),(101),__FILE__,114);
never executed: ERR_put_error(35,(106),(101),__FILE__,114);
0
95 CRYPTO_free(out, __FILE__, 115);-
96 return
never executed: return ret;
ret;
never executed: return ret;
0
97}-
98-
99-
100-
101-
102-
103-
104ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor,-
105 const ASN1_ITEM *it,-
106 const char *pass, int passlen,-
107 void *obj, int zbuf)-
108{-
109 ASN1_OCTET_STRING *oct = -
110 ((void *)0)-
111 ;-
112 unsigned char *in = -
113 ((void *)0)-
114 ;-
115 int inlen;-
116-
117 if ((
(oct = ASN1_OC...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
oct = ASN1_OCTET_STRING_new()) ==
(oct = ASN1_OC...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
118 ((void *)0)
(oct = ASN1_OC...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
119 ) {-
120 ERR_put_error(35,(108),((1|64)),__FILE__,134);-
121 goto
never executed: goto err;
err;
never executed: goto err;
0
122 }-
123 inlen = ASN1_item_i2d(obj, &in, it);-
124 if (!in
!inDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
125 ERR_put_error(35,(108),(102),__FILE__,139);-
126 goto
never executed: goto err;
err;
never executed: goto err;
0
127 }-
128 if (!PKCS12_pbe_crypt(algor, pass, passlen, in, inlen, &oct->data,
!PKCS12_pbe_cr...ct->length, 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
129 &oct->length, 1)
!PKCS12_pbe_cr...ct->length, 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
130 ERR_put_error(35,(108),(103),__FILE__,144);-
131 CRYPTO_free(in, __FILE__, 145);-
132 goto
never executed: goto err;
err;
never executed: goto err;
0
133 }-
134 if (zbuf
zbufDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
135 OPENSSL_cleanse(in, inlen);
never executed: OPENSSL_cleanse(in, inlen);
0
136 CRYPTO_free(in, __FILE__, 150);-
137 return
never executed: return oct;
oct;
never executed: return oct;
0
138 err:-
139 ASN1_OCTET_STRING_free(oct);-
140 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
141 ((void *)0)
never executed: return ((void *)0) ;
0
142 ;
never executed: return ((void *)0) ;
0
143}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2