OpenCoverage

p12_decr.c

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

Generated by Squish Coco 4.2.2