OpenCoverage

pk7_doit.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/pkcs7/pk7_doit.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static int add_attribute(struct stack_st_X509_ATTRIBUTE **sk, int nid, int atrtype,-
4 void *value);-
5static ASN1_TYPE *get_attribute(struct stack_st_X509_ATTRIBUTE *sk, int nid);-
6-
7static int PKCS7_type_is_other(PKCS7 *p7)-
8{-
9 int isOther = 1;-
10-
11 int nid = OBJ_obj2nid(p7->type);-
12-
13 switch (nid) {-
14 case
never executed: case 21:
21:
never executed: case 21:
0
15 case
never executed: case 22:
22:
never executed: case 22:
0
16 case
never executed: case 23:
23:
never executed: case 23:
0
17 case
never executed: case 24:
24:
never executed: case 24:
0
18 case
never executed: case 25:
25:
never executed: case 25:
0
19 case
never executed: case 26:
26:
never executed: case 26:
0
20 isOther = 0;-
21 break;
never executed: break;
0
22 default
never executed: default:
:
never executed: default:
0
23 isOther = 1;-
24 }
never executed: end of block
0
25-
26 return
never executed: return isOther;
isOther;
never executed: return isOther;
0
27-
28}-
29-
30static ASN1_OCTET_STRING *PKCS7_get_octet_string(PKCS7 *p7)-
31{-
32 if ((
(OBJ_obj2nid((...->type) == 21)Description
TRUEevaluated 34 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
OBJ_obj2nid((p7)->type) == 21)
(OBJ_obj2nid((...->type) == 21)Description
TRUEevaluated 34 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-34
33 return
executed 34 times by 1 test: return p7->d.data;
Executed by:
  • libcrypto.so.1.1
p7->d.data;
executed 34 times by 1 test: return p7->d.data;
Executed by:
  • libcrypto.so.1.1
34
34 if (PKCS7_type_is_other(p7)
PKCS7_type_is_other(p7)Description
TRUEnever evaluated
FALSEnever evaluated
&& p7->d.other
p7->d.otherDescription
TRUEnever evaluated
FALSEnever evaluated
0
35 && (
(p7->d.other->type == 4)Description
TRUEnever evaluated
FALSEnever evaluated
p7->d.other->type == 4)
(p7->d.other->type == 4)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
36 return
never executed: return p7->d.other->value.octet_string;
p7->d.other->value.octet_string;
never executed: return p7->d.other->value.octet_string;
0
37 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
38 ((void *)0)
never executed: return ((void *)0) ;
0
39 ;
never executed: return ((void *)0) ;
0
40}-
41-
42static int PKCS7_bio_add_digest(BIO **pbio, X509_ALGOR *alg)-
43{-
44 BIO *btmp;-
45 const EVP_MD *md;-
46 if ((
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
btmp = BIO_new(BIO_f_md())) ==
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
47 ((void *)0)
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
48 ) {-
49 ERR_put_error(33,(125),(32),__FILE__,60);-
50 goto
never executed: goto err;
err;
never executed: goto err;
0
51 }-
52-
53 md = EVP_get_digestbyname(OBJ_nid2sn(OBJ_obj2nid(alg->algorithm)));-
54 if (md ==
md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
55 ((void *)0)
md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
56 ) {-
57 ERR_put_error(33,(125),(109),__FILE__,66);-
58 goto
never executed: goto err;
err;
never executed: goto err;
0
59 }-
60-
61 BIO_ctrl(btmp,111,0,(char *)(md));-
62 if (*
*pbio == ((void *)0)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
pbio ==
*pbio == ((void *)0)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-23
63 ((void *)0)
*pbio == ((void *)0)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-23
64 )-
65 *
executed 23 times by 1 test: *pbio = btmp;
Executed by:
  • libcrypto.so.1.1
pbio = btmp;
executed 23 times by 1 test: *pbio = btmp;
Executed by:
  • libcrypto.so.1.1
23
66 else if (!BIO_push(*pbio, btmp)
!BIO_push(*pbio, btmp)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
67 ERR_put_error(33,(125),(32),__FILE__,74);-
68 goto
never executed: goto err;
err;
never executed: goto err;
0
69 }-
70 btmp = -
71 ((void *)0)-
72 ;-
73-
74 return
executed 23 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 23 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
23
75-
76 err:-
77 BIO_free(btmp);-
78 return
never executed: return 0;
0;
never executed: return 0;
0
79-
80}-
81-
82static int pkcs7_encode_rinfo(PKCS7_RECIP_INFO *ri,-
83 unsigned char *key, int keylen)-
84{-
85 EVP_PKEY_CTX *pctx = -
86 ((void *)0)-
87 ;-
88 EVP_PKEY *pkey = -
89 ((void *)0)-
90 ;-
91 unsigned char *ek = -
92 ((void *)0)-
93 ;-
94 int ret = 0;-
95 size_t eklen;-
96-
97 pkey = X509_get0_pubkey(ri->cert);-
98-
99 if (!pkey
!pkeyDescription
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
100 return
never executed: return 0;
0;
never executed: return 0;
0
101-
102 pctx = EVP_PKEY_CTX_new(pkey, -
103 ((void *)0)-
104 );-
105 if (!pctx
!pctxDescription
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
106 return
never executed: return 0;
0;
never executed: return 0;
0
107-
108 if (EVP_PKEY_encrypt_init(pctx) <= 0
EVP_PKEY_encry...nit(pctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
109 goto
never executed: goto err;
err;
never executed: goto err;
0
110-
111 if (EVP_PKEY_CTX_ctrl(pctx, -1, (1<<8),
EVP_PKEY_CTX_c...3, 0, ri) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
112 3, 0, ri) <= 0
EVP_PKEY_CTX_c...3, 0, ri) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-12
113 ERR_put_error(33,(132),(152),__FILE__,110);-
114 goto
never executed: goto err;
err;
never executed: goto err;
0
115 }-
116-
117 if (EVP_PKEY_encrypt(pctx,
EVP_PKEY_encry..., keylen) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
118 ((void *)0)
EVP_PKEY_encry..., keylen) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
119 , &eklen, key, keylen) <= 0
EVP_PKEY_encry..., keylen) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
120 goto
never executed: goto err;
err;
never executed: goto err;
0
121-
122 ek = CRYPTO_malloc(eklen, __FILE__, 117);-
123-
124 if (ek ==
ek == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
125 ((void *)0)
ek == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
126 ) {-
127 ERR_put_error(33,(132),((1|64)),__FILE__,120);-
128 goto
never executed: goto err;
err;
never executed: goto err;
0
129 }-
130-
131 if (EVP_PKEY_encrypt(pctx, ek, &eklen, key, keylen) <= 0
EVP_PKEY_encry..., keylen) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
132 goto
never executed: goto err;
err;
never executed: goto err;
0
133-
134 ASN1_STRING_set0(ri->enc_key, ek, eklen);-
135 ek = -
136 ((void *)0)-
137 ;-
138-
139 ret = 1;-
140-
141 err:
code before this statement executed 12 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
12
142 EVP_PKEY_CTX_free(pctx);-
143 CRYPTO_free(ek, __FILE__, 134);-
144 return
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
12
145-
146}-
147-
148static int pkcs7_decrypt_rinfo(unsigned char **pek, int *peklen,-
149 PKCS7_RECIP_INFO *ri, EVP_PKEY *pkey)-
150{-
151 EVP_PKEY_CTX *pctx = -
152 ((void *)0)-
153 ;-
154 unsigned char *ek = -
155 ((void *)0)-
156 ;-
157 size_t eklen;-
158-
159 int ret = -1;-
160-
161 pctx = EVP_PKEY_CTX_new(pkey, -
162 ((void *)0)-
163 );-
164 if (!pctx
!pctxDescription
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-6
165 return
never executed: return -1;
-1;
never executed: return -1;
0
166-
167 if (EVP_PKEY_decrypt_init(pctx) <= 0
EVP_PKEY_decry...nit(pctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-6
168 goto
never executed: goto err;
err;
never executed: goto err;
0
169-
170 if (EVP_PKEY_CTX_ctrl(pctx, -1, (1<<9),
EVP_PKEY_CTX_c...4, 0, ri) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-6
171 4, 0, ri) <= 0
EVP_PKEY_CTX_c...4, 0, ri) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-6
172 ERR_put_error(33,(133),(152),__FILE__,157);-
173 goto
never executed: goto err;
err;
never executed: goto err;
0
174 }-
175-
176 if (EVP_PKEY_decrypt(pctx,
EVP_PKEY_decry...->length) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-6
177 ((void *)0)
EVP_PKEY_decry...->length) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-6
178 , &eklen,
EVP_PKEY_decry...->length) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-6
179 ri->enc_key->data, ri->enc_key->length) <= 0
EVP_PKEY_decry...->length) <= 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-6
180 goto
never executed: goto err;
err;
never executed: goto err;
0
181-
182 ek = CRYPTO_malloc(eklen, __FILE__, 165);-
183-
184 if (ek ==
ek == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-6
185 ((void *)0)
ek == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-6
186 ) {-
187 ERR_put_error(33,(133),((1|64)),__FILE__,168);-
188 goto
never executed: goto err;
err;
never executed: goto err;
0
189 }-
190-
191 if (EVP_PKEY_decrypt(pctx, ek, &eklen,
EVP_PKEY_decry...->length) <= 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-4
192 ri->enc_key->data, ri->enc_key->length) <= 0
EVP_PKEY_decry...->length) <= 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
2-4
193 ret = 0;-
194 ERR_put_error(33,(133),(6),__FILE__,175);-
195 goto
executed 2 times by 1 test: goto err;
Executed by:
  • libcrypto.so.1.1
err;
executed 2 times by 1 test: goto err;
Executed by:
  • libcrypto.so.1.1
2
196 }-
197-
198 ret = 1;-
199-
200 CRYPTO_clear_free(*pek, *peklen, __FILE__, 181);-
201 *pek = ek;-
202 *peklen = eklen;-
203-
204 err:
code before this statement executed 4 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
4
205 EVP_PKEY_CTX_free(pctx);-
206 if (!ret
!retDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
2-4
207 CRYPTO_free(ek, __FILE__, 188);
executed 2 times by 1 test: CRYPTO_free(ek, __FILE__, 188);
Executed by:
  • libcrypto.so.1.1
2
208-
209 return
executed 6 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 6 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
6
210}-
211-
212BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)-
213{-
214 int i;-
215 BIO *out = -
216 ((void *)0)-
217 , *btmp = -
218 ((void *)0)-
219 ;-
220 X509_ALGOR *xa = -
221 ((void *)0)-
222 ;-
223 const EVP_CIPHER *evp_cipher = -
224 ((void *)0)-
225 ;-
226 struct stack_st_X509_ALGOR *md_sk = -
227 ((void *)0)-
228 ;-
229 struct stack_st_PKCS7_RECIP_INFO *rsk = -
230 ((void *)0)-
231 ;-
232 X509_ALGOR *xalg = -
233 ((void *)0)-
234 ;-
235 PKCS7_RECIP_INFO *ri = -
236 ((void *)0)-
237 ;-
238 ASN1_OCTET_STRING *os = -
239 ((void *)0)-
240 ;-
241-
242 if (p7 ==
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-27
243 ((void *)0)
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-27
244 ) {-
245 ERR_put_error(33,(105),(143),__FILE__,206);-
246 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
247 ((void *)0)
never executed: return ((void *)0) ;
0
248 ;
never executed: return ((void *)0) ;
0
249 }-
250 if (p7->d.ptr ==
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-27
251 ((void *)0)
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-27
252 ) {-
253 ERR_put_error(33,(105),(122),__FILE__,220);-
254 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
255 ((void *)0)
never executed: return ((void *)0) ;
0
256 ;
never executed: return ((void *)0) ;
0
257 }-
258-
259 i = OBJ_obj2nid(p7->type);-
260 p7->state = 0;-
261-
262 switch (i) {-
263 case
executed 23 times by 1 test: case 22:
Executed by:
  • libcrypto.so.1.1
22:
executed 23 times by 1 test: case 22:
Executed by:
  • libcrypto.so.1.1
23
264 md_sk = p7->d.sign->md_algs;-
265 os = PKCS7_get_octet_string(p7->d.sign->contents);-
266 break;
executed 23 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
23
267 case
never executed: case 24:
24:
never executed: case 24:
0
268 rsk = p7->d.signed_and_enveloped->recipientinfo;-
269 md_sk = p7->d.signed_and_enveloped->md_algs;-
270 xalg = p7->d.signed_and_enveloped->enc_data->algorithm;-
271 evp_cipher = p7->d.signed_and_enveloped->enc_data->cipher;-
272 if (evp_cipher ==
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
273 ((void *)0)
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
274 ) {-
275 ERR_put_error(33,(105),(116),__FILE__,238);-
276 goto
never executed: goto err;
err;
never executed: goto err;
0
277 }-
278 break;
never executed: break;
0
279 case
executed 4 times by 1 test: case 23:
Executed by:
  • libcrypto.so.1.1
23:
executed 4 times by 1 test: case 23:
Executed by:
  • libcrypto.so.1.1
4
280 rsk = p7->d.enveloped->recipientinfo;-
281 xalg = p7->d.enveloped->enc_data->algorithm;-
282 evp_cipher = p7->d.enveloped->enc_data->cipher;-
283 if (evp_cipher ==
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
284 ((void *)0)
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
285 ) {-
286 ERR_put_error(33,(105),(116),__FILE__,247);-
287 goto
never executed: goto err;
err;
never executed: goto err;
0
288 }-
289 break;
executed 4 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
4
290 case
never executed: case 25:
25:
never executed: case 25:
0
291 xa = p7->d.digest->md;-
292 os = PKCS7_get_octet_string(p7->d.digest->contents);-
293 break;
never executed: break;
0
294 case
never executed: case 21:
21:
never executed: case 21:
0
295 break;
never executed: break;
0
296 default
never executed: default:
:
never executed: default:
0
297 ERR_put_error(33,(105),(112),__FILE__,258);-
298 goto
never executed: goto err;
err;
never executed: goto err;
0
299 }-
300-
301 for (i = 0; i < sk_X509_ALGOR_num(md_sk)
i < sk_X509_ALGOR_num(md_sk)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
23-27
302 if (!PKCS7_bio_add_digest(&out, sk_X509_ALGOR_value(md_sk, i))
!PKCS7_bio_add...lue(md_sk, i))Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-23
303 goto
never executed: goto err;
err;
never executed: goto err;
0
304-
305 if (xa
xaDescription
TRUEnever evaluated
FALSEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&& !PKCS7_bio_add_digest(&out, xa)
!PKCS7_bio_add...gest(&out, xa)Description
TRUEnever evaluated
FALSEnever evaluated
)
0-27
306 goto
never executed: goto err;
err;
never executed: goto err;
0
307-
308 if (evp_cipher !=
evp_cipher != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-23
309 ((void *)0)
evp_cipher != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-23
310 ) {-
311 unsigned char key[64];-
312 unsigned char iv[16];-
313 int keylen, ivlen;-
314 EVP_CIPHER_CTX *ctx;-
315-
316 if ((
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
btmp = BIO_new(BIO_f_cipher())) ==
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
317 ((void *)0)
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
318 ) {-
319 ERR_put_error(33,(105),(32),__FILE__,276);-
320 goto
never executed: goto err;
err;
never executed: goto err;
0
321 }-
322 BIO_ctrl(btmp,129,0, (char *)(&ctx));-
323 keylen = EVP_CIPHER_key_length(evp_cipher);-
324 ivlen = EVP_CIPHER_iv_length(evp_cipher);-
325 xalg->algorithm = OBJ_nid2obj(EVP_CIPHER_type(evp_cipher));-
326 if (ivlen > 0
ivlen > 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-4
327 if (RAND_bytes(iv, ivlen) <= 0
RAND_bytes(iv, ivlen) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
328 goto
never executed: goto err;
err;
never executed: goto err;
0
329 if (EVP_CipherInit_ex(ctx, evp_cipher,
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
330 ((void *)0)
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
331 ,
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
332 ((void *)0)
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
333 ,
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
334 ((void *)0)
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
335 , 1) <= 0
EVP_CipherInit...*)0) , 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
336 goto
never executed: goto err;
err;
never executed: goto err;
0
337 if (EVP_CIPHER_CTX_rand_key(ctx, key) <= 0
EVP_CIPHER_CTX...ctx, key) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
338 goto
never executed: goto err;
err;
never executed: goto err;
0
339 if (EVP_CipherInit_ex(ctx,
EVP_CipherInit...y, iv, 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
340 ((void *)0)
EVP_CipherInit...y, iv, 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
341 ,
EVP_CipherInit...y, iv, 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
342 ((void *)0)
EVP_CipherInit...y, iv, 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
343 , key, iv, 1) <= 0
EVP_CipherInit...y, iv, 1) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
344 goto
never executed: goto err;
err;
never executed: goto err;
0
345-
346 if (ivlen > 0
ivlen > 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
) {
0-4
347 if (xalg->parameter ==
xalg->parameter == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
348 ((void *)0)
xalg->parameter == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
349 ) {-
350 xalg->parameter = ASN1_TYPE_new();-
351 if (xalg->parameter ==
xalg->parameter == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
352 ((void *)0)
xalg->parameter == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
353 )-
354 goto
never executed: goto err;
err;
never executed: goto err;
0
355 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
356 if (EVP_CIPHER_param_to_asn1(ctx, xalg->parameter) < 0
EVP_CIPHER_par...parameter) < 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
357 goto
never executed: goto err;
err;
never executed: goto err;
0
358 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
359-
360-
361 for (i = 0; i < sk_PKCS7_RECIP_INFO_num(rsk)
i < sk_PKCS7_R..._INFO_num(rsk)Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
4-12
362 ri = sk_PKCS7_RECIP_INFO_value(rsk, i);-
363 if (pkcs7_encode_rinfo(ri, key, keylen) <= 0
pkcs7_encode_r..., keylen) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
364 goto
never executed: goto err;
err;
never executed: goto err;
0
365 }
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
12
366 OPENSSL_cleanse(key, keylen);-
367-
368 if (out ==
out == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
369 ((void *)0)
out == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
370 )-
371 out = btmp;
executed 4 times by 1 test: out = btmp;
Executed by:
  • libcrypto.so.1.1
4
372 else-
373 BIO_push(out, btmp);
never executed: BIO_push(out, btmp);
0
374 btmp = -
375 ((void *)0)-
376 ;-
377 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
378-
379 if (bio ==
bio == ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
11-16
380 ((void *)0)
bio == ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
11-16
381 ) {-
382 if (((
(OBJ_obj2nid((...->type) == 22)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
OBJ_obj2nid((p7)->type) == 22)
(OBJ_obj2nid((...->type) == 22)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
&& PKCS7_ctrl(p7,2,0,
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
383 ((void *)0)
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-9
384 )
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)) {
2-9
385 bio = BIO_new(BIO_s_null());-
386 }
executed 2 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else if (os
osDescription
TRUEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
&& os->length > 0
os->length > 0Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-9
387 bio = BIO_new_mem_buf(os->data, os->length);-
388 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
7
389 bio = BIO_new(BIO_s_mem());-
390 if (bio ==
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-2
391 ((void *)0)
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-2
392 )-
393 goto
never executed: goto err;
err;
never executed: goto err;
0
394 BIO_ctrl(bio,130,0,-
395 ((void *)0)-
396 );-
397 }
executed 2 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2
398 if (bio ==
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
399 ((void *)0)
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
400 )-
401 goto
never executed: goto err;
err;
never executed: goto err;
0
402 }
executed 11 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
11
403 if (out
outDescription
TRUEevaluated 27 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-27
404 BIO_push(out, bio);
executed 27 times by 1 test: BIO_push(out, bio);
Executed by:
  • libcrypto.so.1.1
27
405 else-
406 out = bio;
never executed: out = bio;
0
407 return
executed 27 times by 1 test: return out;
Executed by:
  • libcrypto.so.1.1
out;
executed 27 times by 1 test: return out;
Executed by:
  • libcrypto.so.1.1
27
408-
409 err:-
410 BIO_free_all(out);-
411 BIO_free_all(btmp);-
412 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
413 ((void *)0)
never executed: return ((void *)0) ;
0
414 ;
never executed: return ((void *)0) ;
0
415}-
416-
417static int pkcs7_cmp_ri(PKCS7_RECIP_INFO *ri, X509 *pcert)-
418{-
419 int ret;-
420 ret = X509_NAME_cmp(ri->issuer_and_serial->issuer,-
421 X509_get_issuer_name(pcert));-
422 if (ret
retDescription
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-5
423 return
never executed: return ret;
ret;
never executed: return ret;
0
424 return
executed 5 times by 1 test: return ASN1_INTEGER_cmp(X509_get_serialNumber(pcert), ri->issuer_and_serial->serial);
Executed by:
  • libcrypto.so.1.1
ASN1_INTEGER_cmp(X509_get_serialNumber(pcert),
executed 5 times by 1 test: return ASN1_INTEGER_cmp(X509_get_serialNumber(pcert), ri->issuer_and_serial->serial);
Executed by:
  • libcrypto.so.1.1
5
425 ri->issuer_and_serial->serial);
executed 5 times by 1 test: return ASN1_INTEGER_cmp(X509_get_serialNumber(pcert), ri->issuer_and_serial->serial);
Executed by:
  • libcrypto.so.1.1
5
426}-
427-
428-
429BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert)-
430{-
431 int i, j;-
432 BIO *out = -
433 ((void *)0)-
434 , *btmp = -
435 ((void *)0)-
436 , *etmp = -
437 ((void *)0)-
438 , *bio = -
439 ((void *)0)-
440 ;-
441 X509_ALGOR *xa;-
442 ASN1_OCTET_STRING *data_body = -
443 ((void *)0)-
444 ;-
445 const EVP_MD *evp_md;-
446 const EVP_CIPHER *evp_cipher = -
447 ((void *)0)-
448 ;-
449 EVP_CIPHER_CTX *evp_ctx = -
450 ((void *)0)-
451 ;-
452 X509_ALGOR *enc_alg = -
453 ((void *)0)-
454 ;-
455 struct stack_st_X509_ALGOR *md_sk = -
456 ((void *)0)-
457 ;-
458 struct stack_st_PKCS7_RECIP_INFO *rsk = -
459 ((void *)0)-
460 ;-
461 PKCS7_RECIP_INFO *ri = -
462 ((void *)0)-
463 ;-
464 unsigned char *ek = -
465 ((void *)0)-
466 , *tkey = -
467 ((void *)0)-
468 ;-
469 int eklen = 0, tkeylen = 0;-
470-
471 if (p7 ==
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
472 ((void *)0)
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
473 ) {-
474 ERR_put_error(33,(112),(143),__FILE__,373);-
475 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
476 ((void *)0)
never executed: return ((void *)0) ;
0
477 ;
never executed: return ((void *)0) ;
0
478 }-
479-
480 if (p7->d.ptr ==
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
481 ((void *)0)
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
482 ) {-
483 ERR_put_error(33,(112),(122),__FILE__,378);-
484 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
485 ((void *)0)
never executed: return ((void *)0) ;
0
486 ;
never executed: return ((void *)0) ;
0
487 }-
488-
489 i = OBJ_obj2nid(p7->type);-
490 p7->state = 0;-
491-
492 switch (i) {-
493 case
never executed: case 22:
22:
never executed: case 22:
0
494-
495-
496-
497-
498-
499-
500 data_body = PKCS7_get_octet_string(p7->d.sign->contents);-
501 if (!((
(OBJ_obj2nid((...->type) == 22)Description
TRUEnever evaluated
FALSEnever evaluated
OBJ_obj2nid((p7)->type) == 22)
(OBJ_obj2nid((...->type) == 22)Description
TRUEnever evaluated
FALSEnever evaluated
&& PKCS7_ctrl(p7,2,0,
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
502 ((void *)0)
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
503 )
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) && data_body ==
data_body == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
504 ((void *)0)
data_body == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
505 ) {-
506 ERR_put_error(33,(112),(155),__FILE__,396)-
507 ;-
508 goto
never executed: goto err;
err;
never executed: goto err;
0
509 }-
510 md_sk = p7->d.sign->md_algs;-
511 break;
never executed: break;
0
512 case
never executed: case 24:
24:
never executed: case 24:
0
513 rsk = p7->d.signed_and_enveloped->recipientinfo;-
514 md_sk = p7->d.signed_and_enveloped->md_algs;-
515-
516 data_body = p7->d.signed_and_enveloped->enc_data->enc_data;-
517 enc_alg = p7->d.signed_and_enveloped->enc_data->algorithm;-
518 evp_cipher = EVP_get_cipherbyname(OBJ_nid2sn(OBJ_obj2nid(enc_alg->algorithm)));-
519 if (evp_cipher ==
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
520 ((void *)0)
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
521 ) {-
522 ERR_put_error(33,(112),(111),__FILE__,410)-
523 ;-
524 goto
never executed: goto err;
err;
never executed: goto err;
0
525 }-
526 break;
never executed: break;
0
527 case
executed 4 times by 1 test: case 23:
Executed by:
  • libcrypto.so.1.1
23:
executed 4 times by 1 test: case 23:
Executed by:
  • libcrypto.so.1.1
4
528 rsk = p7->d.enveloped->recipientinfo;-
529 enc_alg = p7->d.enveloped->enc_data->algorithm;-
530-
531 data_body = p7->d.enveloped->enc_data->enc_data;-
532 evp_cipher = EVP_get_cipherbyname(OBJ_nid2sn(OBJ_obj2nid(enc_alg->algorithm)));-
533 if (evp_cipher ==
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
534 ((void *)0)
evp_cipher == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
535 ) {-
536 ERR_put_error(33,(112),(111),__FILE__,422)-
537 ;-
538 goto
never executed: goto err;
err;
never executed: goto err;
0
539 }-
540 break;
executed 4 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
4
541 default
never executed: default:
:
never executed: default:
0
542 ERR_put_error(33,(112),(112),__FILE__,427);-
543 goto
never executed: goto err;
err;
never executed: goto err;
0
544 }-
545-
546-
547 if (data_body ==
data_body == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
548 ((void *)0)
data_body == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
549 && in_bio ==
in_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
550 ((void *)0)
in_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
551 ) {-
552 ERR_put_error(33,(112),(122),__FILE__,433);-
553 goto
never executed: goto err;
err;
never executed: goto err;
0
554 }-
555-
556-
557 if (md_sk !=
md_sk != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
558 ((void *)0)
md_sk != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
559 ) {-
560 for (i = 0; i < sk_X509_ALGOR_num(md_sk)
i < sk_X509_ALGOR_num(md_sk)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
561 xa = sk_X509_ALGOR_value(md_sk, i);-
562 if ((
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
btmp = BIO_new(BIO_f_md())) ==
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
563 ((void *)0)
(btmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
564 ) {-
565 ERR_put_error(33,(112),(32),__FILE__,442);-
566 goto
never executed: goto err;
err;
never executed: goto err;
0
567 }-
568-
569 j = OBJ_obj2nid(xa->algorithm);-
570 evp_md = EVP_get_digestbyname(OBJ_nid2sn(j));-
571 if (evp_md ==
evp_md == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
572 ((void *)0)
evp_md == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
573 ) {-
574 ERR_put_error(33,(112),(109),__FILE__,450)-
575 ;-
576 goto
never executed: goto err;
err;
never executed: goto err;
0
577 }-
578-
579 BIO_ctrl(btmp,111,0,(char *)(evp_md));-
580 if (out ==
out == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
581 ((void *)0)
out == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
582 )-
583 out = btmp;
never executed: out = btmp;
0
584 else-
585 BIO_push(out, btmp);
never executed: BIO_push(out, btmp);
0
586 btmp = -
587 ((void *)0)-
588 ;-
589 }
never executed: end of block
0
590 }
never executed: end of block
0
591-
592 if (evp_cipher !=
evp_cipher != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
593 ((void *)0)
evp_cipher != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
594 ) {-
595 if ((
(etmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
etmp = BIO_new(BIO_f_cipher())) ==
(etmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
596 ((void *)0)
(etmp = BIO_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
597 ) {-
598 ERR_put_error(33,(112),(32),__FILE__,465);-
599 goto
never executed: goto err;
err;
never executed: goto err;
0
600 }-
601 if (pcert
pcertDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
1-3
602 for (i = 0; i < sk_PKCS7_RECIP_INFO_num(rsk)
i < sk_PKCS7_R..._INFO_num(rsk)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
; i++) {
0-5
603 ri = sk_PKCS7_RECIP_INFO_value(rsk, i);-
604 if (!pkcs7_cmp_ri(ri, pcert)
!pkcs7_cmp_ri(ri, pcert)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
2-3
605 break;
executed 3 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
3
606 ri = -
607 ((void *)0)-
608 ;-
609 }
executed 2 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2
610 if (ri ==
ri == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3
611 ((void *)0)
ri == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3
612 ) {-
613 ERR_put_error(33,(112),(115),__FILE__,488)-
614 ;-
615 goto
never executed: goto err;
err;
never executed: goto err;
0
616 }-
617 }
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3
618-
619-
620 if (pcert ==
pcert == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-3
621 ((void *)0)
pcert == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-3
622 ) {-
623-
624-
625-
626-
627 for (i = 0; i < sk_PKCS7_RECIP_INFO_num(rsk)
i < sk_PKCS7_R..._INFO_num(rsk)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
1-3
628 ri = sk_PKCS7_RECIP_INFO_value(rsk, i);-
629-
630 if (pkcs7_decrypt_rinfo(&ek, &eklen, ri, pkey) < 0
pkcs7_decrypt_... ri, pkey) < 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-3
631 goto
never executed: goto err;
err;
never executed: goto err;
0
632 ERR_clear_error();-
633 }
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3
634 }
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
1
635-
636 if (pkcs7_decrypt_rinfo(&ek, &eklen, ri, pkey) < 0
pkcs7_decrypt_... ri, pkey) < 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-3
637 goto
never executed: goto err;
err;
never executed: goto err;
0
638 ERR_clear_error();-
639 }
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3
640-
641 evp_ctx = -
642 ((void *)0)-
643 ;-
644 BIO_ctrl(etmp,129,0, (char *)(&evp_ctx));-
645 if (EVP_CipherInit_ex(evp_ctx, evp_cipher,
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
646 ((void *)0)
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
647 ,
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
648 ((void *)0)
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
649 ,
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
650 ((void *)0)
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
651 , 0) <= 0
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
652 goto
never executed: goto err;
err;
never executed: goto err;
0
653 if (EVP_CIPHER_asn1_to_param(evp_ctx, enc_alg->parameter) < 0
EVP_CIPHER_asn...parameter) < 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
654 goto
never executed: goto err;
err;
never executed: goto err;
0
655-
656 tkeylen = EVP_CIPHER_CTX_key_length(evp_ctx);-
657 tkey = CRYPTO_malloc(tkeylen, __FILE__, 521);-
658 if (tkey ==
tkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
659 ((void *)0)
tkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
660 )-
661 goto
never executed: goto err;
err;
never executed: goto err;
0
662 if (EVP_CIPHER_CTX_rand_key(evp_ctx, tkey) <= 0
EVP_CIPHER_CTX...tx, tkey) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
663 goto
never executed: goto err;
err;
never executed: goto err;
0
664 if (ek ==
ek == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
665 ((void *)0)
ek == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
666 ) {-
667 ek = tkey;-
668 eklen = tkeylen;-
669 tkey = -
670 ((void *)0)-
671 ;-
672 }
never executed: end of block
0
673-
674 if (eklen != EVP_CIPHER_CTX_key_length(evp_ctx)
eklen != EVP_C...ength(evp_ctx)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-4
675-
676-
677-
678-
679-
680 if (!EVP_CIPHER_CTX_set_key_length(evp_ctx, eklen)
!EVP_CIPHER_CT...vp_ctx, eklen)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
681-
682 CRYPTO_clear_free(ek, eklen, __FILE__, 540);-
683 ek = tkey;-
684 eklen = tkeylen;-
685 tkey = -
686 ((void *)0)-
687 ;-
688 }
never executed: end of block
0
689 }
never executed: end of block
0
690-
691 ERR_clear_error();-
692 if (EVP_CipherInit_ex(evp_ctx,
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
693 ((void *)0)
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
694 ,
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
695 ((void *)0)
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
696 , ek,
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
697 ((void *)0)
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
698 , 0) <= 0
EVP_CipherInit...*)0) , 0) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-4
699 goto
never executed: goto err;
err;
never executed: goto err;
0
700-
701 CRYPTO_clear_free(ek, eklen, __FILE__, 551);-
702 ek = -
703 ((void *)0)-
704 ;-
705 CRYPTO_clear_free(tkey, tkeylen, __FILE__, 553);-
706 tkey = -
707 ((void *)0)-
708 ;-
709-
710 if (out ==
out == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
711 ((void *)0)
out == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4
712 )-
713 out = etmp;
executed 4 times by 1 test: out = etmp;
Executed by:
  • libcrypto.so.1.1
4
714 else-
715 BIO_push(out, etmp);
never executed: BIO_push(out, etmp);
0
716 etmp = -
717 ((void *)0)-
718 ;-
719 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
720 if (in_bio !=
in_bio != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
721 ((void *)0)
in_bio != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
722 ) {-
723 bio = in_bio;-
724 }
never executed: end of block
else {
0
725 if (data_body->length > 0
data_body->length > 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-4
726 bio = BIO_new_mem_buf(data_body->data, data_body->length);
executed 4 times by 1 test: bio = BIO_new_mem_buf(data_body->data, data_body->length);
Executed by:
  • libcrypto.so.1.1
4
727 else {-
728 bio = BIO_new(BIO_s_mem());-
729 if (bio ==
bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
730 ((void *)0)
bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
731 )-
732 goto
never executed: goto err;
err;
never executed: goto err;
0
733 BIO_ctrl(bio,130,0,-
734 ((void *)0)-
735 );-
736 }
never executed: end of block
0
737 if (bio ==
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
738 ((void *)0)
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
739 )-
740 goto
never executed: goto err;
err;
never executed: goto err;
0
741 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
742 BIO_push(out, bio);-
743 bio = -
744 ((void *)0)-
745 ;-
746 return
executed 4 times by 1 test: return out;
Executed by:
  • libcrypto.so.1.1
out;
executed 4 times by 1 test: return out;
Executed by:
  • libcrypto.so.1.1
4
747-
748 err:-
749 CRYPTO_clear_free(ek, eklen, __FILE__, 581);-
750 CRYPTO_clear_free(tkey, tkeylen, __FILE__, 582);-
751 BIO_free_all(out);-
752 BIO_free_all(btmp);-
753 BIO_free_all(etmp);-
754 BIO_free_all(bio);-
755 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
756 ((void *)0)
never executed: return ((void *)0) ;
0
757 ;
never executed: return ((void *)0) ;
0
758}-
759-
760static BIO *PKCS7_find_digest(EVP_MD_CTX **pmd, BIO *bio, int nid)-
761{-
762 for (;;) {-
763 bio = BIO_find_type(bio, ( 8|0x0200));-
764 if (bio ==
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
765 ((void *)0)
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
766 ) {-
767 ERR_put_error(33,(127),(108),__FILE__,596)-
768 ;-
769 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
770 ((void *)0)
never executed: return ((void *)0) ;
0
771 ;
never executed: return ((void *)0) ;
0
772 }-
773 BIO_ctrl(bio,120,0, (char *)(pmd));-
774 if (*
*pmd == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
pmd ==
*pmd == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
775 ((void *)0)
*pmd == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
776 ) {-
777 ERR_put_error(33,(127),((4|64)),__FILE__,601);-
778 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
779 ((void *)0)
never executed: return ((void *)0) ;
0
780 ;
never executed: return ((void *)0) ;
0
781 }-
782 if (EVP_MD_type(EVP_MD_CTX_md(*pmd)) == nid
EVP_MD_type(EV...(*pmd)) == nidDescription
TRUEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-23
783 return
executed 23 times by 1 test: return bio;
Executed by:
  • libcrypto.so.1.1
bio;
executed 23 times by 1 test: return bio;
Executed by:
  • libcrypto.so.1.1
23
784 bio = BIO_next(bio);-
785 }
never executed: end of block
0
786 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
787 ((void *)0)
never executed: return ((void *)0) ;
0
788 ;
never executed: return ((void *)0) ;
0
789}-
790-
791static int do_pkcs7_signed_attrib(PKCS7_SIGNER_INFO *si, EVP_MD_CTX *mctx)-
792{-
793 unsigned char md_data[64];-
794 unsigned int md_len;-
795-
796-
797 if (!PKCS7_get_signed_attribute(si, 52)
!PKCS7_get_sig...ribute(si, 52)Description
TRUEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
) {
0-19
798 if (!PKCS7_add0_attrib_signing_time(si,
!PKCS7_add0_at... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-19
799 ((void *)0)
!PKCS7_add0_at... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-19
800 )
!PKCS7_add0_at... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-19
801 ERR_put_error(33,(136),((1|64)),__FILE__,619);-
802 return
never executed: return 0;
0;
never executed: return 0;
0
803 }-
804 }
executed 19 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
19
805-
806-
807 if (!EVP_DigestFinal_ex(mctx, md_data, &md_len)
!EVP_DigestFin...data, &md_len)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-19
808 ERR_put_error(33,(136),(6),__FILE__,626);-
809 return
never executed: return 0;
0;
never executed: return 0;
0
810 }-
811 if (!PKCS7_add1_attrib_digest(si, md_data, md_len)
!PKCS7_add1_at..._data, md_len)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-19
812 ERR_put_error(33,(136),((1|64)),__FILE__,630);-
813 return
never executed: return 0;
0;
never executed: return 0;
0
814 }-
815-
816-
817 if (!PKCS7_SIGNER_INFO_sign(si)
!PKCS7_SIGNER_INFO_sign(si)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-19
818 return
never executed: return 0;
0;
never executed: return 0;
0
819-
820 return
executed 19 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 19 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
19
821}-
822-
823int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)-
824{-
825 int ret = 0;-
826 int i, j;-
827 BIO *btmp;-
828 PKCS7_SIGNER_INFO *si;-
829 EVP_MD_CTX *mdc, *ctx_tmp;-
830 struct stack_st_X509_ATTRIBUTE *sk;-
831 struct stack_st_PKCS7_SIGNER_INFO *si_sk = -
832 ((void *)0)-
833 ;-
834 ASN1_OCTET_STRING *os = -
835 ((void *)0)-
836 ;-
837-
838 if (p7 ==
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15
839 ((void *)0)
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15
840 ) {-
841 ERR_put_error(33,(128),(143),__FILE__,653);-
842 return
never executed: return 0;
0;
never executed: return 0;
0
843 }-
844-
845 if (p7->d.ptr ==
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15
846 ((void *)0)
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15
847 ) {-
848 ERR_put_error(33,(128),(122),__FILE__,658);-
849 return
never executed: return 0;
0;
never executed: return 0;
0
850 }-
851-
852 ctx_tmp = EVP_MD_CTX_new();-
853 if (ctx_tmp ==
ctx_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15
854 ((void *)0)
ctx_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15
855 ) {-
856 ERR_put_error(33,(128),((1|64)),__FILE__,664);-
857 return
never executed: return 0;
0;
never executed: return 0;
0
858 }-
859-
860 i = OBJ_obj2nid(p7->type);-
861 p7->state = 0;-
862-
863 switch (i) {-
864 case
never executed: case 21:
21:
never executed: case 21:
0
865 os = p7->d.data;-
866 break;
never executed: break;
0
867 case
never executed: case 24:
24:
never executed: case 24:
0
868-
869 si_sk = p7->d.signed_and_enveloped->signer_info;-
870 os = p7->d.signed_and_enveloped->enc_data->enc_data;-
871 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
872 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
873 ) {-
874 os = ASN1_OCTET_STRING_new();-
875 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
876 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
877 ) {-
878 ERR_put_error(33,(128),((1|64)),__FILE__,682);-
879 goto
never executed: goto err;
err;
never executed: goto err;
0
880 }-
881 p7->d.signed_and_enveloped->enc_data->enc_data = os;-
882 }
never executed: end of block
0
883 break;
never executed: break;
0
884 case
executed 4 times by 1 test: case 23:
Executed by:
  • libcrypto.so.1.1
23:
executed 4 times by 1 test: case 23:
Executed by:
  • libcrypto.so.1.1
4
885-
886 os = p7->d.enveloped->enc_data->enc_data;-
887 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
888 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
889 ) {-
890 os = ASN1_OCTET_STRING_new();-
891 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
892 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
893 ) {-
894 ERR_put_error(33,(128),((1|64)),__FILE__,694);-
895 goto
never executed: goto err;
err;
never executed: goto err;
0
896 }-
897 p7->d.enveloped->enc_data->enc_data = os;-
898 }
never executed: end of block
0
899 break;
executed 4 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
4
900 case
executed 11 times by 1 test: case 22:
Executed by:
  • libcrypto.so.1.1
22:
executed 11 times by 1 test: case 22:
Executed by:
  • libcrypto.so.1.1
11
901 si_sk = p7->d.sign->signer_info;-
902 os = PKCS7_get_octet_string(p7->d.sign->contents);-
903-
904 if ((
(OBJ_obj2nid((...->type) == 21)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
OBJ_obj2nid((p7->d.sign->contents)->type) == 21)
(OBJ_obj2nid((...->type) == 21)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
&& p7->detached
p7->detachedDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-11
905 ASN1_OCTET_STRING_free(os);-
906 os = -
907 ((void *)0)-
908 ;-
909 p7->d.sign->contents->d.data = -
910 ((void *)0)-
911 ;-
912 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
913 break;
executed 11 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
11
914-
915 case
never executed: case 25:
25:
never executed: case 25:
0
916 os = PKCS7_get_octet_string(p7->d.digest->contents);-
917-
918 if ((
(OBJ_obj2nid((...->type) == 21)Description
TRUEnever evaluated
FALSEnever evaluated
OBJ_obj2nid((p7->d.digest->contents)->type) == 21)
(OBJ_obj2nid((...->type) == 21)Description
TRUEnever evaluated
FALSEnever evaluated
&& p7->detached
p7->detachedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
919 ASN1_OCTET_STRING_free(os);-
920 os = -
921 ((void *)0)-
922 ;-
923 p7->d.digest->contents->d.data = -
924 ((void *)0)-
925 ;-
926 }
never executed: end of block
0
927 break;
never executed: break;
0
928-
929 default
never executed: default:
:
never executed: default:
0
930 ERR_put_error(33,(128),(112),__FILE__,722);-
931 goto
never executed: goto err;
err;
never executed: goto err;
0
932 }-
933-
934 if (si_sk !=
si_sk != ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-11
935 ((void *)0)
si_sk != ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-11
936 ) {-
937 for (i = 0; i < sk_PKCS7_SIGNER_INFO_num(si_sk)
i < sk_PKCS7_S...NFO_num(si_sk)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
11-23
938 si = sk_PKCS7_SIGNER_INFO_value(si_sk, i);-
939 if (si->pkey ==
si->pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
940 ((void *)0)
si->pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
941 )-
942 continue;
never executed: continue;
0
943-
944 j = OBJ_obj2nid(si->digest_alg->algorithm);-
945-
946 btmp = bio;-
947-
948 btmp = PKCS7_find_digest(&mdc, btmp, j);-
949-
950 if (btmp ==
btmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
951 ((void *)0)
btmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-23
952 )-
953 goto
never executed: goto err;
err;
never executed: goto err;
0
954-
955-
956-
957-
958 if (!EVP_MD_CTX_copy_ex(ctx_tmp, mdc)
!EVP_MD_CTX_co...(ctx_tmp, mdc)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-23
959 goto
never executed: goto err;
err;
never executed: goto err;
0
960-
961 sk = si->auth_attr;-
962-
963-
964-
965-
966-
967 if (sk_X509_ATTRIBUTE_num(sk) > 0
sk_X509_ATTRIBUTE_num(sk) > 0Description
TRUEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
4-19
968 if (!do_pkcs7_signed_attrib(si, ctx_tmp)
!do_pkcs7_sign...b(si, ctx_tmp)Description
TRUEnever evaluated
FALSEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-19
969 goto
never executed: goto err;
err;
never executed: goto err;
0
970 }
executed 19 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
19
971 unsigned char *abuf = -
972 ((void *)0)-
973 ;-
974 unsigned int abuflen;-
975 abuflen = EVP_PKEY_size(si->pkey);-
976 abuf = CRYPTO_malloc(abuflen, __FILE__, 760);-
977 if (abuf ==
abuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
978 ((void *)0)
abuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
979 )-
980 goto
never executed: goto err;
err;
never executed: goto err;
0
981-
982 if (!EVP_SignFinal(ctx_tmp, abuf, &abuflen, si->pkey)
!EVP_SignFinal...len, si->pkey)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-4
983 CRYPTO_free(abuf, __FILE__, 765);-
984 ERR_put_error(33,(128),(6),__FILE__,766);-
985 goto
never executed: goto err;
err;
never executed: goto err;
0
986 }-
987 ASN1_STRING_set0(si->enc_digest, abuf, abuflen);-
988 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
989 }-
990 }
executed 11 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else if (i == 25
i == 25Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-11
991 unsigned char md_data[64];-
992 unsigned int md_len;-
993 if (!PKCS7_find_digest(&mdc, bio,
!PKCS7_find_di...d->algorithm))Description
TRUEnever evaluated
FALSEnever evaluated
0
994 OBJ_obj2nid(p7->d.digest->md->algorithm))
!PKCS7_find_di...d->algorithm))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
995 goto
never executed: goto err;
err;
never executed: goto err;
0
996 if (!EVP_DigestFinal_ex(mdc, md_data, &md_len)
!EVP_DigestFin...data, &md_len)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
997 goto
never executed: goto err;
err;
never executed: goto err;
0
998 if (!ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len)
!ASN1_OCTET_ST..._data, md_len)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
999 goto
never executed: goto err;
err;
never executed: goto err;
0
1000 }
never executed: end of block
0
1001-
1002 if (!((
(OBJ_obj2nid((...->type) == 22)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
OBJ_obj2nid((p7)->type) == 22)
(OBJ_obj2nid((...->type) == 22)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&& PKCS7_ctrl(p7,2,0,
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-11
1003 ((void *)0)
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-7
1004 )
PKCS7_ctrl(p7,... ((void *)0) )Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)) {
4-7
1005-
1006-
1007-
1008-
1009 if (os ==
os == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
1010 ((void *)0)
os == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
1011 )-
1012 goto
never executed: goto err;
err;
never executed: goto err;
0
1013 if (!(os->flags & 0x010)
!(os->flags & 0x010)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
2-9
1014 char *cont;-
1015 long contlen;-
1016 btmp = BIO_find_type(bio, ( 1|0x0400));-
1017 if (btmp ==
btmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-2
1018 ((void *)0)
btmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-2
1019 ) {-
1020 ERR_put_error(33,(128),(107),__FILE__,796);-
1021 goto
never executed: goto err;
err;
never executed: goto err;
0
1022 }-
1023 contlen = BIO_ctrl(btmp,3,0,(char *)(&cont));-
1024-
1025-
1026-
1027-
1028 BIO_set_flags(btmp, 0x200);-
1029 BIO_ctrl(btmp,130,0,-
1030 ((void *)0)-
1031 );-
1032 ASN1_STRING_set0(os, (unsigned char *)cont, contlen);-
1033 }
executed 2 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2
1034 }
executed 11 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
11
1035 ret = 1;-
1036 err:
code before this statement executed 15 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
15
1037 EVP_MD_CTX_free(ctx_tmp);-
1038 return
executed 15 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 15 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
15
1039}-
1040-
1041int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si)-
1042{-
1043 EVP_MD_CTX *mctx;-
1044 EVP_PKEY_CTX *pctx = -
1045 ((void *)0)-
1046 ;-
1047 unsigned char *abuf = -
1048 ((void *)0)-
1049 ;-
1050 int alen;-
1051 size_t siglen;-
1052 const EVP_MD *md = -
1053 ((void *)0)-
1054 ;-
1055-
1056 md = EVP_get_digestbyname(OBJ_nid2sn(OBJ_obj2nid(si->digest_alg->algorithm)));-
1057 if (md ==
md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1058 ((void *)0)
md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1059 )-
1060 return
never executed: return 0;
0;
never executed: return 0;
0
1061-
1062 mctx = EVP_MD_CTX_new();-
1063 if (mctx ==
mctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1064 ((void *)0)
mctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1065 ) {-
1066 ERR_put_error(33,(139),((1|64)),__FILE__,830);-
1067 goto
never executed: goto err;
err;
never executed: goto err;
0
1068 }-
1069-
1070 if (EVP_DigestSignInit(mctx, &pctx, md,
EVP_DigestSign...si->pkey) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1071 ((void *)0)
EVP_DigestSign...si->pkey) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1072 , si->pkey) <= 0
EVP_DigestSign...si->pkey) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-20
1073 goto
never executed: goto err;
err;
never executed: goto err;
0
1074-
1075 if (EVP_PKEY_CTX_ctrl(pctx, -1, (1<<3),
EVP_PKEY_CTX_c...5, 0, si) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1076 5, 0, si) <= 0
EVP_PKEY_CTX_c...5, 0, si) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-20
1077 ERR_put_error(33,(139),(152),__FILE__,839);-
1078 goto
never executed: goto err;
err;
never executed: goto err;
0
1079 }-
1080-
1081 alen = ASN1_item_i2d((ASN1_VALUE *)si->auth_attr, &abuf,-
1082 (&(PKCS7_ATTR_SIGN_it)));-
1083 if (!abuf
!abufDescription
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-20
1084 goto
never executed: goto err;
err;
never executed: goto err;
0
1085 if (EVP_DigestUpdate(mctx,abuf,alen) <= 0
EVP_DigestUpda...buf,alen) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-20
1086 goto
never executed: goto err;
err;
never executed: goto err;
0
1087 CRYPTO_free(abuf, __FILE__, 849);-
1088 abuf = -
1089 ((void *)0)-
1090 ;-
1091 if (EVP_DigestSignFinal(mctx,
EVP_DigestSign... &siglen) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1092 ((void *)0)
EVP_DigestSign... &siglen) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1093 , &siglen) <= 0
EVP_DigestSign... &siglen) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-20
1094 goto
never executed: goto err;
err;
never executed: goto err;
0
1095 abuf = CRYPTO_malloc(siglen, __FILE__, 853);-
1096 if (abuf ==
abuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1097 ((void *)0)
abuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1098 )-
1099 goto
never executed: goto err;
err;
never executed: goto err;
0
1100 if (EVP_DigestSignFinal(mctx, abuf, &siglen) <= 0
EVP_DigestSign... &siglen) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-20
1101 goto
never executed: goto err;
err;
never executed: goto err;
0
1102-
1103 if (EVP_PKEY_CTX_ctrl(pctx, -1, (1<<3),
EVP_PKEY_CTX_c...5, 1, si) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1104 5, 1, si) <= 0
EVP_PKEY_CTX_c...5, 1, si) <= 0Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-20
1105 ERR_put_error(33,(139),(152),__FILE__,861);-
1106 goto
never executed: goto err;
err;
never executed: goto err;
0
1107 }-
1108-
1109 EVP_MD_CTX_free(mctx);-
1110-
1111 ASN1_STRING_set0(si->enc_digest, abuf, siglen);-
1112-
1113 return
executed 20 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 20 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
20
1114-
1115 err:-
1116 CRYPTO_free(abuf, __FILE__, 872);-
1117 EVP_MD_CTX_free(mctx);-
1118 return
never executed: return 0;
0;
never executed: return 0;
0
1119-
1120}-
1121-
1122int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, BIO *bio,-
1123 PKCS7 *p7, PKCS7_SIGNER_INFO *si)-
1124{-
1125 PKCS7_ISSUER_AND_SERIAL *ias;-
1126 int ret = 0, i;-
1127 struct stack_st_X509 *cert;-
1128 X509 *x509;-
1129-
1130 if (p7 ==
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1131 ((void *)0)
p7 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1132 ) {-
1133 ERR_put_error(33,(107),(143),__FILE__,887);-
1134 return
never executed: return 0;
0;
never executed: return 0;
0
1135 }-
1136-
1137 if (p7->d.ptr ==
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1138 ((void *)0)
p7->d.ptr == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1139 ) {-
1140 ERR_put_error(33,(107),(122),__FILE__,892);-
1141 return
never executed: return 0;
0;
never executed: return 0;
0
1142 }-
1143-
1144 if ((
(OBJ_obj2nid((...->type) == 22)Description
TRUEnever evaluated
FALSEnever evaluated
OBJ_obj2nid((p7)->type) == 22)
(OBJ_obj2nid((...->type) == 22)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1145 cert = p7->d.sign->cert;-
1146 }
never executed: end of block
else if ((
(OBJ_obj2nid((...->type) == 24)Description
TRUEnever evaluated
FALSEnever evaluated
OBJ_obj2nid((p7)->type) == 24)
(OBJ_obj2nid((...->type) == 24)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1147 cert = p7->d.signed_and_enveloped->cert;-
1148 }
never executed: end of block
else {
0
1149 ERR_put_error(33,(107),(114),__FILE__,901);-
1150 goto
never executed: goto err;
err;
never executed: goto err;
0
1151 }-
1152-
1153 ias = si->issuer_and_serial;-
1154-
1155 x509 = X509_find_by_issuer_and_serial(cert, ias->issuer, ias->serial);-
1156-
1157-
1158 if (x509 ==
x509 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1159 ((void *)0)
x509 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1160 ) {-
1161 ERR_put_error(33,(107),(106),__FILE__,912)-
1162 ;-
1163 goto
never executed: goto err;
err;
never executed: goto err;
0
1164 }-
1165-
1166-
1167 if (!X509_STORE_CTX_init(ctx, cert_store, x509, cert)
!X509_STORE_CT...e, x509, cert)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1168 ERR_put_error(33,(107),(11),__FILE__,918);-
1169 goto
never executed: goto err;
err;
never executed: goto err;
0
1170 }-
1171 X509_STORE_CTX_set_purpose(ctx, 4);-
1172 i = X509_verify_cert(ctx);-
1173 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1174 ERR_put_error(33,(107),(11),__FILE__,924);-
1175 X509_STORE_CTX_cleanup(ctx);-
1176 goto
never executed: goto err;
err;
never executed: goto err;
0
1177 }-
1178 X509_STORE_CTX_cleanup(ctx);-
1179-
1180 return
never executed: return PKCS7_signatureVerify(bio, p7, si, x509);
PKCS7_signatureVerify(bio, p7, si, x509);
never executed: return PKCS7_signatureVerify(bio, p7, si, x509);
0
1181 err:-
1182 return
never executed: return ret;
ret;
never executed: return ret;
0
1183}-
1184-
1185int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,-
1186 X509 *x509)-
1187{-
1188 ASN1_OCTET_STRING *os;-
1189 EVP_MD_CTX *mdc_tmp, *mdc;-
1190 int ret = 0, i;-
1191 int md_type;-
1192 struct stack_st_X509_ATTRIBUTE *sk;-
1193 BIO *btmp;-
1194 EVP_PKEY *pkey;-
1195-
1196 mdc_tmp = EVP_MD_CTX_new();-
1197 if (mdc_tmp ==
mdc_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1198 ((void *)0)
mdc_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1199 ) {-
1200 ERR_put_error(33,(113),((1|64)),__FILE__,948);-
1201 goto
never executed: goto err;
err;
never executed: goto err;
0
1202 }-
1203-
1204 if (!(OBJ_obj2nid((p7)->type) == 22)
!(OBJ_obj2nid(...->type) == 22)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&& !(OBJ_obj2nid((p7)->type) == 24)
!(OBJ_obj2nid(...->type) == 24)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-25
1205 ERR_put_error(33,(113),(114),__FILE__,953);-
1206 goto
never executed: goto err;
err;
never executed: goto err;
0
1207 }-
1208-
1209 md_type = OBJ_obj2nid(si->digest_alg->algorithm);-
1210-
1211 btmp = bio;-
1212 for (;;) {-
1213 if ((
(btmp == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
btmp ==
(btmp == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1214 ((void *)0)
(btmp == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1215 )
(btmp == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
||
0-25
1216 ((
((btmp = BIO_f... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
btmp = BIO_find_type(btmp, ( 8|0x0200))) ==
((btmp = BIO_f... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1217 ((void *)0)
((btmp = BIO_f... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1218 )
((btmp = BIO_f... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25
1219 ERR_put_error(33,(113),(108),__FILE__,964)-
1220 ;-
1221 goto
never executed: goto err;
err;
never executed: goto err;
0
1222 }-
1223 BIO_ctrl(btmp,120,0, (char *)(&mdc));-
1224 if (mdc ==
mdc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1225 ((void *)0)
mdc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
1226 ) {-
1227 ERR_put_error(33,(113),((4|64)),__FILE__,969);-
1228 goto
never executed: goto err;
err;
never executed: goto err;
0
1229 }-
1230 if (EVP_MD_type(EVP_MD_CTX_md(mdc)) == md_type
EVP_MD_type(EV...c)) == md_typeDescription
TRUEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-25
1231 break;
executed 25 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
25
1232-
1233-
1234-
1235-
1236 if (EVP_MD_pkey_type(EVP_MD_CTX_md(mdc)) == md_type
EVP_MD_pkey_ty...c)) == md_typeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1237 break;
never executed: break;
0
1238 btmp = BIO_next(btmp);-
1239 }
never executed: end of block
0
1240-
1241-
1242-
1243-
1244-
1245 if (!EVP_MD_CTX_copy_ex(mdc_tmp, mdc)
!EVP_MD_CTX_co...(mdc_tmp, mdc)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-25
1246 goto
never executed: goto err;
err;
never executed: goto err;
0
1247-
1248 sk = si->auth_attr;-
1249 if ((
(sk != ((void *)0) )Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
sk !=
(sk != ((void *)0) )Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-21
1250 ((void *)0)
(sk != ((void *)0) )Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-21
1251 )
(sk != ((void *)0) )Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&& (
(sk_X509_ATTRI..._num(sk) != 0)Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
sk_X509_ATTRIBUTE_num(sk) != 0)
(sk_X509_ATTRI..._num(sk) != 0)Description
TRUEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
) {
0-21
1252 unsigned char md_dat[64], *abuf = -
1253 ((void *)0)-
1254 ;-
1255 unsigned int md_len;-
1256 int alen;-
1257 ASN1_OCTET_STRING *message_digest;-
1258-
1259 if (!EVP_DigestFinal_ex(mdc_tmp, md_dat, &md_len)
!EVP_DigestFin..._dat, &md_len)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-21
1260 goto
never executed: goto err;
err;
never executed: goto err;
0
1261 message_digest = PKCS7_digest_from_attributes(sk);-
1262 if (!message_digest
!message_digestDescription
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-21
1263 ERR_put_error(33,(113),(108),__FILE__,1002)-
1264 ;-
1265 goto
never executed: goto err;
err;
never executed: goto err;
0
1266 }-
1267 if ((
(message_diges...= (int)md_len)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
message_digest->length != (int)md_len)
(message_diges...= (int)md_len)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
||
0-21
1268 (
(memcmp(messag..._dat, md_len))Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
memcmp(message_digest->data, md_dat, md_len))
(memcmp(messag..._dat, md_len))Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-21
1269 ERR_put_error(33,(113),(101),__FILE__,1007);-
1270 ret = -1;-
1271 goto
never executed: goto err;
err;
never executed: goto err;
0
1272 }-
1273-
1274 if (!EVP_DigestInit_ex(mdc_tmp,EVP_get_digestbyname(OBJ_nid2sn(md_type)),
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-21
1275 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-21
1276 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-21
1277 goto
never executed: goto err;
err;
never executed: goto err;
0
1278-
1279 alen = ASN1_item_i2d((ASN1_VALUE *)sk, &abuf,-
1280 (&(PKCS7_ATTR_VERIFY_it)));-
1281 if (alen <= 0
alen <= 0Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-21
1282 ERR_put_error(33,(113),(13),__FILE__,1018);-
1283 ret = -1;-
1284 goto
never executed: goto err;
err;
never executed: goto err;
0
1285 }-
1286 if (!EVP_DigestUpdate(mdc_tmp,abuf,alen)
!EVP_DigestUpd...tmp,abuf,alen)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-21
1287 goto
never executed: goto err;
err;
never executed: goto err;
0
1288-
1289 CRYPTO_free(abuf, __FILE__, 1025);-
1290 }
executed 21 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
21
1291-
1292 os = si->enc_digest;-
1293 pkey = X509_get0_pubkey(x509);-
1294 if (!pkey
!pkeyDescription
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25
1295 ret = -1;-
1296 goto
never executed: goto err;
err;
never executed: goto err;
0
1297 }-
1298-
1299 i = EVP_VerifyFinal(mdc_tmp, os->data, os->length, pkey);-
1300 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25
1301 ERR_put_error(33,(113),(105),__FILE__,1037);-
1302 ret = -1;-
1303 goto
never executed: goto err;
err;
never executed: goto err;
0
1304 }-
1305 ret = 1;-
1306 err:
code before this statement executed 25 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
25
1307 EVP_MD_CTX_free(mdc_tmp);-
1308 return
executed 25 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 25 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
25
1309}-
1310-
1311PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx)-
1312{-
1313 struct stack_st_PKCS7_RECIP_INFO *rsk;-
1314 PKCS7_RECIP_INFO *ri;-
1315 int i;-
1316-
1317 i = OBJ_obj2nid(p7->type);-
1318 if (i != 24
i != 24Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1319 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1320 ((void *)0)
never executed: return ((void *)0) ;
0
1321 ;
never executed: return ((void *)0) ;
0
1322 if (p7->d.signed_and_enveloped ==
p7->d.signed_a...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1323 ((void *)0)
p7->d.signed_a...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1324 )-
1325 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1326 ((void *)0)
never executed: return ((void *)0) ;
0
1327 ;
never executed: return ((void *)0) ;
0
1328 rsk = p7->d.signed_and_enveloped->recipientinfo;-
1329 if (rsk ==
rsk == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1330 ((void *)0)
rsk == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1331 )-
1332 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1333 ((void *)0)
never executed: return ((void *)0) ;
0
1334 ;
never executed: return ((void *)0) ;
0
1335 if (sk_PKCS7_RECIP_INFO_num(rsk) <= idx
sk_PKCS7_RECIP...um(rsk) <= idxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1336 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1337 ((void *)0)
never executed: return ((void *)0) ;
0
1338 ;
never executed: return ((void *)0) ;
0
1339 ri = sk_PKCS7_RECIP_INFO_value(rsk, idx);-
1340 return
never executed: return ri->issuer_and_serial;
ri->issuer_and_serial;
never executed: return ri->issuer_and_serial;
0
1341}-
1342-
1343ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid)-
1344{-
1345 return
executed 39 times by 1 test: return get_attribute(si->auth_attr, nid);
Executed by:
  • libcrypto.so.1.1
get_attribute(si->auth_attr, nid);
executed 39 times by 1 test: return get_attribute(si->auth_attr, nid);
Executed by:
  • libcrypto.so.1.1
39
1346}-
1347-
1348ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid)-
1349{-
1350 return
never executed: return get_attribute(si->unauth_attr, nid);
get_attribute(si->unauth_attr, nid);
never executed: return get_attribute(si->unauth_attr, nid);
0
1351}-
1352-
1353static ASN1_TYPE *get_attribute(struct stack_st_X509_ATTRIBUTE *sk, int nid)-
1354{-
1355 int idx;-
1356 X509_ATTRIBUTE *xa;-
1357 idx = X509at_get_attr_by_NID(sk, nid, -1);-
1358 xa = X509at_get_attr(sk, idx);-
1359 return
executed 61 times by 1 test: return X509_ATTRIBUTE_get0_type(xa, 0);
Executed by:
  • libcrypto.so.1.1
X509_ATTRIBUTE_get0_type(xa, 0);
executed 61 times by 1 test: return X509_ATTRIBUTE_get0_type(xa, 0);
Executed by:
  • libcrypto.so.1.1
61
1360}-
1361-
1362ASN1_OCTET_STRING *PKCS7_digest_from_attributes(struct stack_st_X509_ATTRIBUTE *sk)-
1363{-
1364 ASN1_TYPE *astype;-
1365 if ((
(astype = get_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
astype = get_attribute(sk, 51)) ==
(astype = get_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-22
1366 ((void *)0)
(astype = get_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-22
1367 )-
1368 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1369 ((void *)0)
never executed: return ((void *)0) ;
0
1370 ;
never executed: return ((void *)0) ;
0
1371 return
executed 22 times by 1 test: return astype->value.octet_string;
Executed by:
  • libcrypto.so.1.1
astype->value.octet_string;
executed 22 times by 1 test: return astype->value.octet_string;
Executed by:
  • libcrypto.so.1.1
22
1372}-
1373-
1374int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si,-
1375 struct stack_st_X509_ATTRIBUTE *sk)-
1376{-
1377 int i;-
1378-
1379 sk_X509_ATTRIBUTE_pop_free(p7si->auth_attr, X509_ATTRIBUTE_free);-
1380 p7si->auth_attr = sk_X509_ATTRIBUTE_dup(sk);-
1381 if (p7si->auth_attr ==
p7si->auth_attr == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1382 ((void *)0)
p7si->auth_attr == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1383 )-
1384 return
never executed: return 0;
0;
never executed: return 0;
0
1385 for (i = 0; i < sk_X509_ATTRIBUTE_num(sk)
i < sk_X509_ATTRIBUTE_num(sk)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1386 if ((
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sk_X509_ATTRIBUTE_set(p7si->auth_attr, i,
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1387 X509_ATTRIBUTE_dup(sk_X509_ATTRIBUTE_value
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1388 (sk, i))))
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1389 ==
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1390 ((void *)0)
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1391 )-
1392 return
never executed: return 0;
0;
never executed: return 0;
0
1393 }
never executed: end of block
0
1394 return
never executed: return 1;
1;
never executed: return 1;
0
1395}-
1396-
1397int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si,-
1398 struct stack_st_X509_ATTRIBUTE *sk)-
1399{-
1400 int i;-
1401-
1402 sk_X509_ATTRIBUTE_pop_free(p7si->unauth_attr, X509_ATTRIBUTE_free);-
1403 p7si->unauth_attr = sk_X509_ATTRIBUTE_dup(sk);-
1404 if (p7si->unauth_attr ==
p7si->unauth_a...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1405 ((void *)0)
p7si->unauth_a...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1406 )-
1407 return
never executed: return 0;
0;
never executed: return 0;
0
1408 for (i = 0; i < sk_X509_ATTRIBUTE_num(sk)
i < sk_X509_ATTRIBUTE_num(sk)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1409 if ((
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sk_X509_ATTRIBUTE_set(p7si->unauth_attr, i,
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1410 X509_ATTRIBUTE_dup(sk_X509_ATTRIBUTE_value
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1411 (sk, i))))
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1412 ==
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1413 ((void *)0)
(sk_X509_ATTRI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1414 )-
1415 return
never executed: return 0;
0;
never executed: return 0;
0
1416 }
never executed: end of block
0
1417 return
never executed: return 1;
1;
never executed: return 1;
0
1418}-
1419-
1420int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,-
1421 void *value)-
1422{-
1423 return
executed 79 times by 1 test: return add_attribute(&(p7si->auth_attr), nid, atrtype, value);
Executed by:
  • libcrypto.so.1.1
add_attribute(&(p7si->auth_attr), nid, atrtype, value);
executed 79 times by 1 test: return add_attribute(&(p7si->auth_attr), nid, atrtype, value);
Executed by:
  • libcrypto.so.1.1
79
1424}-
1425-
1426int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,-
1427 void *value)-
1428{-
1429 return
never executed: return add_attribute(&(p7si->unauth_attr), nid, atrtype, value);
add_attribute(&(p7si->unauth_attr), nid, atrtype, value);
never executed: return add_attribute(&(p7si->unauth_attr), nid, atrtype, value);
0
1430}-
1431-
1432static int add_attribute(struct stack_st_X509_ATTRIBUTE **sk, int nid, int atrtype,-
1433 void *value)-
1434{-
1435 X509_ATTRIBUTE *attr = -
1436 ((void *)0)-
1437 ;-
1438-
1439 if (*
*sk == ((void *)0)Description
TRUEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 59 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
sk ==
*sk == ((void *)0)Description
TRUEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 59 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
20-59
1440 ((void *)0)
*sk == ((void *)0)Description
TRUEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 59 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
20-59
1441 ) {-
1442 if ((*
(*sk = sk_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
sk = sk_X509_ATTRIBUTE_new_null()) ==
(*sk = sk_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1443 ((void *)0)
(*sk = sk_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-20
1444 )-
1445 return
never executed: return 0;
0;
never executed: return 0;
0
1446 new_attrib:
code before this statement executed 20 times by 1 test: new_attrib:
Executed by:
  • libcrypto.so.1.1
20
1447 if ((
(attr = X509_A...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 79 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
attr = X509_ATTRIBUTE_create(nid, atrtype, value)) ==
(attr = X509_A...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 79 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-79
1448 ((void *)0)
(attr = X509_A...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 79 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-79
1449 )-
1450 return
never executed: return 0;
0;
never executed: return 0;
0
1451 if (!sk_X509_ATTRIBUTE_push(*sk, attr)
!sk_X509_ATTRI...ush(*sk, attr)Description
TRUEnever evaluated
FALSEevaluated 79 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-79
1452 X509_ATTRIBUTE_free(attr);-
1453 return
never executed: return 0;
0;
never executed: return 0;
0
1454 }-
1455 }
executed 79 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
79
1456 int i;-
1457-
1458 for (i = 0; i < sk_X509_ATTRIBUTE_num(*sk)
i < sk_X509_ATTRIBUTE_num(*sk)Description
TRUEevaluated 117 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 59 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
59-117
1459 attr = sk_X509_ATTRIBUTE_value(*sk, i);-
1460 if (OBJ_obj2nid(X509_ATTRIBUTE_get0_object(attr)) == nid
OBJ_obj2nid(X5...(attr)) == nidDescription
TRUEnever evaluated
FALSEevaluated 117 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-117
1461 X509_ATTRIBUTE_free(attr);-
1462 attr = X509_ATTRIBUTE_create(nid, atrtype, value);-
1463 if (attr ==
attr == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1464 ((void *)0)
attr == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1465 )-
1466 return
never executed: return 0;
0;
never executed: return 0;
0
1467 if (!sk_X509_ATTRIBUTE_set(*sk, i, attr)
!sk_X509_ATTRI...(*sk, i, attr)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1468 X509_ATTRIBUTE_free(attr);-
1469 return
never executed: return 0;
0;
never executed: return 0;
0
1470 }-
1471 goto
never executed: goto end;
end;
never executed: goto end;
0
1472 }-
1473 }
executed 117 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
117
1474 goto
executed 59 times by 1 test: goto new_attrib;
Executed by:
  • libcrypto.so.1.1
new_attrib;
executed 59 times by 1 test: goto new_attrib;
Executed by:
  • libcrypto.so.1.1
59
1475 }-
1476 end:
code before this statement executed 79 times by 1 test: end:
Executed by:
  • libcrypto.so.1.1
79
1477 return
executed 79 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 79 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
79
1478}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2