OpenCoverage

v3_crld.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/x509v3/v3_crld.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include <stdio.h>-
11#include "internal/cryptlib.h"-
12#include <openssl/conf.h>-
13#include <openssl/asn1.h>-
14#include <openssl/asn1t.h>-
15#include <openssl/x509v3.h>-
16-
17#include "internal/x509_int.h"-
18#include "ext_dat.h"-
19-
20static void *v2i_crld(const X509V3_EXT_METHOD *method,-
21 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);-
22static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,-
23 int indent);-
24-
25const X509V3_EXT_METHOD v3_crld = {-
26 NID_crl_distribution_points, 0, ASN1_ITEM_ref(CRL_DIST_POINTS),-
27 0, 0, 0, 0,-
28 0, 0,-
29 0,-
30 v2i_crld,-
31 i2r_crldp, 0,-
32 NULL-
33};-
34-
35const X509V3_EXT_METHOD v3_freshest_crl = {-
36 NID_freshest_crl, 0, ASN1_ITEM_ref(CRL_DIST_POINTS),-
37 0, 0, 0, 0,-
38 0, 0,-
39 0,-
40 v2i_crld,-
41 i2r_crldp, 0,-
42 NULL-
43};-
44-
45static STACK_OF(GENERAL_NAME) *gnames_from_sectname(X509V3_CTX *ctx,-
46 char *sect)-
47{-
48 STACK_OF(CONF_VALUE) *gnsect;-
49 STACK_OF(GENERAL_NAME) *gens;-
50 if (*sect == '@')
*sect == '@'Description
TRUEnever evaluated
FALSEnever evaluated
0
51 gnsect = X509V3_get_section(ctx, sect + 1);
never executed: gnsect = X509V3_get_section(ctx, sect + 1);
0
52 else-
53 gnsect = X509V3_parse_list(sect);
never executed: gnsect = X509V3_parse_list(sect);
0
54 if (!gnsect) {
!gnsectDescription
TRUEnever evaluated
FALSEnever evaluated
0
55 X509V3err(X509V3_F_GNAMES_FROM_SECTNAME, X509V3_R_SECTION_NOT_FOUND);-
56 return NULL;
never executed: return ((void *)0) ;
0
57 }-
58 gens = v2i_GENERAL_NAMES(NULL, ctx, gnsect);-
59 if (*sect == '@')
*sect == '@'Description
TRUEnever evaluated
FALSEnever evaluated
0
60 X509V3_section_free(ctx, gnsect);
never executed: X509V3_section_free(ctx, gnsect);
0
61 else-
62 sk_CONF_VALUE_pop_free(gnsect, X509V3_conf_free);
never executed: sk_CONF_VALUE_pop_free(gnsect, X509V3_conf_free);
0
63 return gens;
never executed: return gens;
0
64}-
65-
66static int set_dist_point_name(DIST_POINT_NAME **pdp, X509V3_CTX *ctx,-
67 CONF_VALUE *cnf)-
68{-
69 STACK_OF(GENERAL_NAME) *fnm = NULL;-
70 STACK_OF(X509_NAME_ENTRY) *rnm = NULL;-
71-
72 if (strncmp(cnf->name, "fullname", 9) == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( cnf->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "fullname" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
(__extension__..." , 9 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_constant_p ( 9 )Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_cons... ( cnf->name )Description
TRUEnever evaluated
FALSEnever evaluated
strlen ( cnf->...size_t) ( 9 ))Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_cons...( "fullname" )Description
TRUEnever evaluated
FALSEnever evaluated
strlen ( "full...size_t) ( 9 ))Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
73 fnm = gnames_from_sectname(ctx, cnf->value);-
74 if (!fnm)
!fnmDescription
TRUEnever evaluated
FALSEnever evaluated
0
75 goto err;
never executed: goto err;
0
76 } else if (strcmp(cnf->name, "relativename") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( cnf->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "relativename" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
77 int ret;-
78 STACK_OF(CONF_VALUE) *dnsect;-
79 X509_NAME *nm;-
80 nm = X509_NAME_new();-
81 if (nm == NULL)
nm == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
82 return -1;
never executed: return -1;
0
83 dnsect = X509V3_get_section(ctx, cnf->value);-
84 if (!dnsect) {
!dnsectDescription
TRUEnever evaluated
FALSEnever evaluated
0
85 X509V3err(X509V3_F_SET_DIST_POINT_NAME,-
86 X509V3_R_SECTION_NOT_FOUND);-
87 return -1;
never executed: return -1;
0
88 }-
89 ret = X509V3_NAME_from_section(nm, dnsect, MBSTRING_ASC);-
90 X509V3_section_free(ctx, dnsect);-
91 rnm = nm->entries;-
92 nm->entries = NULL;-
93 X509_NAME_free(nm);-
94 if (!ret || sk_X509_NAME_ENTRY_num(rnm) <= 0)
!retDescription
TRUEnever evaluated
FALSEnever evaluated
sk_X509_NAME_E..._num(rnm) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
95 goto err;
never executed: goto err;
0
96 /*-
97 * Since its a name fragment can't have more than one RDNSequence-
98 */-
99 if (sk_X509_NAME_ENTRY_value(rnm,
sk_X509_NAME_E...rnm) - 1)->setDescription
TRUEnever evaluated
FALSEnever evaluated
0
100 sk_X509_NAME_ENTRY_num(rnm) - 1)->set) {
sk_X509_NAME_E...rnm) - 1)->setDescription
TRUEnever evaluated
FALSEnever evaluated
0
101 X509V3err(X509V3_F_SET_DIST_POINT_NAME,-
102 X509V3_R_INVALID_MULTIPLE_RDNS);-
103 goto err;
never executed: goto err;
0
104 }-
105 } else
never executed: end of block
0
106 return 0;
never executed: return 0;
0
107-
108 if (*pdp) {
*pdpDescription
TRUEnever evaluated
FALSEnever evaluated
0
109 X509V3err(X509V3_F_SET_DIST_POINT_NAME,-
110 X509V3_R_DISTPOINT_ALREADY_SET);-
111 goto err;
never executed: goto err;
0
112 }-
113-
114 *pdp = DIST_POINT_NAME_new();-
115 if (*pdp == NULL)
*pdp == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
116 goto err;
never executed: goto err;
0
117 if (fnm) {
fnmDescription
TRUEnever evaluated
FALSEnever evaluated
0
118 (*pdp)->type = 0;-
119 (*pdp)->name.fullname = fnm;-
120 } else {
never executed: end of block
0
121 (*pdp)->type = 1;-
122 (*pdp)->name.relativename = rnm;-
123 }
never executed: end of block
0
124-
125 return 1;
never executed: return 1;
0
126-
127 err:-
128 sk_GENERAL_NAME_pop_free(fnm, GENERAL_NAME_free);-
129 sk_X509_NAME_ENTRY_pop_free(rnm, X509_NAME_ENTRY_free);-
130 return -1;
never executed: return -1;
0
131}-
132-
133static const BIT_STRING_BITNAME reason_flags[] = {-
134 {0, "Unused", "unused"},-
135 {1, "Key Compromise", "keyCompromise"},-
136 {2, "CA Compromise", "CACompromise"},-
137 {3, "Affiliation Changed", "affiliationChanged"},-
138 {4, "Superseded", "superseded"},-
139 {5, "Cessation Of Operation", "cessationOfOperation"},-
140 {6, "Certificate Hold", "certificateHold"},-
141 {7, "Privilege Withdrawn", "privilegeWithdrawn"},-
142 {8, "AA Compromise", "AACompromise"},-
143 {-1, NULL, NULL}-
144};-
145-
146static int set_reasons(ASN1_BIT_STRING **preas, char *value)-
147{-
148 STACK_OF(CONF_VALUE) *rsk = NULL;-
149 const BIT_STRING_BITNAME *pbn;-
150 const char *bnam;-
151 int i, ret = 0;-
152 rsk = X509V3_parse_list(value);-
153 if (rsk == NULL)
rsk == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
154 return 0;
never executed: return 0;
0
155 if (*preas != NULL)
*preas != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
156 goto err;
never executed: goto err;
0
157 for (i = 0; i < sk_CONF_VALUE_num(rsk); i++) {
i < sk_CONF_VALUE_num(rsk)Description
TRUEnever evaluated
FALSEnever evaluated
0
158 bnam = sk_CONF_VALUE_value(rsk, i)->name;-
159 if (*preas == NULL) {
*preas == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
160 *preas = ASN1_BIT_STRING_new();-
161 if (*preas == NULL)
*preas == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
162 goto err;
never executed: goto err;
0
163 }
never executed: end of block
0
164 for (pbn = reason_flags; pbn->lname; pbn++) {
pbn->lnameDescription
TRUEnever evaluated
FALSEnever evaluated
0
165 if (strcmp(pbn->sname, bnam) == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( pbn->sname ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( bnam ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
166 if (!ASN1_BIT_STRING_set_bit(*preas, pbn->bitnum, 1))
!ASN1_BIT_STRI...bn->bitnum, 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
167 goto err;
never executed: goto err;
0
168 break;
never executed: break;
0
169 }-
170 }
never executed: end of block
0
171 if (!pbn->lname)
!pbn->lnameDescription
TRUEnever evaluated
FALSEnever evaluated
0
172 goto err;
never executed: goto err;
0
173 }
never executed: end of block
0
174 ret = 1;-
175-
176 err:
code before this statement never executed: err:
0
177 sk_CONF_VALUE_pop_free(rsk, X509V3_conf_free);-
178 return ret;
never executed: return ret;
0
179}-
180-
181static int print_reasons(BIO *out, const char *rname,-
182 ASN1_BIT_STRING *rflags, int indent)-
183{-
184 int first = 1;-
185 const BIT_STRING_BITNAME *pbn;-
186 BIO_printf(out, "%*s%s:\n%*s", indent, "", rname, indent + 2, "");-
187 for (pbn = reason_flags; pbn->lname; pbn++) {
pbn->lnameDescription
TRUEevaluated 33003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3667 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3667-33003
188 if (ASN1_BIT_STRING_get_bit(rflags, pbn->bitnum)) {
ASN1_BIT_STRIN..., pbn->bitnum)Description
TRUEevaluated 18028 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 14975 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
14975-18028
189 if (first)
firstDescription
TRUEevaluated 3096 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 14932 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3096-14932
190 first = 0;
executed 3096 times by 1 test: first = 0;
Executed by:
  • libcrypto.so.1.1
3096
191 else-
192 BIO_puts(out, ", ");
executed 14932 times by 1 test: BIO_puts(out, ", ");
Executed by:
  • libcrypto.so.1.1
14932
193 BIO_puts(out, pbn->lname);-
194 }
executed 18028 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
18028
195 }
executed 33003 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
33003
196 if (first)
firstDescription
TRUEevaluated 571 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3096 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
571-3096
197 BIO_puts(out, "<EMPTY>\n");
executed 571 times by 1 test: BIO_puts(out, "<EMPTY>\n");
Executed by:
  • libcrypto.so.1.1
571
198 else-
199 BIO_puts(out, "\n");
executed 3096 times by 1 test: BIO_puts(out, "\n");
Executed by:
  • libcrypto.so.1.1
3096
200 return 1;
executed 3667 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
3667
201}-
202-
203static DIST_POINT *crldp_from_section(X509V3_CTX *ctx,-
204 STACK_OF(CONF_VALUE) *nval)-
205{-
206 int i;-
207 CONF_VALUE *cnf;-
208 DIST_POINT *point = DIST_POINT_new();-
209-
210 if (point == NULL)
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
211 goto err;
never executed: goto err;
0
212 for (i = 0; i < sk_CONF_VALUE_num(nval); i++) {
i < sk_CONF_VALUE_num(nval)Description
TRUEnever evaluated
FALSEnever evaluated
0
213 int ret;-
214 cnf = sk_CONF_VALUE_value(nval, i);-
215 ret = set_dist_point_name(&point->distpoint, ctx, cnf);-
216 if (ret > 0)
ret > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
217 continue;
never executed: continue;
0
218 if (ret < 0)
ret < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
219 goto err;
never executed: goto err;
0
220 if (strcmp(cnf->name, "reasons") == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( cnf->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "reasons" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
221 if (!set_reasons(&point->reasons, cnf->value))
!set_reasons(&...s, cnf->value)Description
TRUEnever evaluated
FALSEnever evaluated
0
222 goto err;
never executed: goto err;
0
223 } else if (strcmp(cnf->name, "CRLissuer") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( cnf->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "CRLissuer" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
224 point->CRLissuer = gnames_from_sectname(ctx, cnf->value);-
225 if (!point->CRLissuer)
!point->CRLissuerDescription
TRUEnever evaluated
FALSEnever evaluated
0
226 goto err;
never executed: goto err;
0
227 }
never executed: end of block
0
228 }
never executed: end of block
0
229-
230 return point;
never executed: return point;
0
231-
232 err:-
233 DIST_POINT_free(point);-
234 return NULL;
never executed: return ((void *)0) ;
0
235}-
236-
237static void *v2i_crld(const X509V3_EXT_METHOD *method,-
238 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval)-
239{-
240 STACK_OF(DIST_POINT) *crld;-
241 GENERAL_NAMES *gens = NULL;-
242 GENERAL_NAME *gen = NULL;-
243 CONF_VALUE *cnf;-
244 const int num = sk_CONF_VALUE_num(nval);-
245 int i;-
246-
247 crld = sk_DIST_POINT_new_reserve(NULL, num);-
248 if (crld == NULL)
crld == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
249 goto merr;
never executed: goto merr;
0
250 for (i = 0; i < num; i++) {
i < numDescription
TRUEnever evaluated
FALSEnever evaluated
0
251 DIST_POINT *point;-
252-
253 cnf = sk_CONF_VALUE_value(nval, i);-
254 if (!cnf->value) {
!cnf->valueDescription
TRUEnever evaluated
FALSEnever evaluated
0
255 STACK_OF(CONF_VALUE) *dpsect;-
256 dpsect = X509V3_get_section(ctx, cnf->name);-
257 if (!dpsect)
!dpsectDescription
TRUEnever evaluated
FALSEnever evaluated
0
258 goto err;
never executed: goto err;
0
259 point = crldp_from_section(ctx, dpsect);-
260 X509V3_section_free(ctx, dpsect);-
261 if (!point)
!pointDescription
TRUEnever evaluated
FALSEnever evaluated
0
262 goto err;
never executed: goto err;
0
263 sk_DIST_POINT_push(crld, point); /* no failure as it was reserved */-
264 } else {
never executed: end of block
0
265 if ((gen = v2i_GENERAL_NAME(method, ctx, cnf)) == NULL)
(gen = v2i_GEN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
266 goto err;
never executed: goto err;
0
267 if ((gens = GENERAL_NAMES_new()) == NULL)
(gens = GENERA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
268 goto merr;
never executed: goto merr;
0
269 if (!sk_GENERAL_NAME_push(gens, gen))
!sk_GENERAL_NA...ush(gens, gen)Description
TRUEnever evaluated
FALSEnever evaluated
0
270 goto merr;
never executed: goto merr;
0
271 gen = NULL;-
272 if ((point = DIST_POINT_new()) == NULL)
(point = DIST_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
273 goto merr;
never executed: goto merr;
0
274 sk_DIST_POINT_push(crld, point); /* no failure as it was reserved */-
275 if ((point->distpoint = DIST_POINT_NAME_new()) == NULL)
(point->distpo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
276 goto merr;
never executed: goto merr;
0
277 point->distpoint->name.fullname = gens;-
278 point->distpoint->type = 0;-
279 gens = NULL;-
280 }
never executed: end of block
0
281 }-
282 return crld;
never executed: return crld;
0
283-
284 merr:-
285 X509V3err(X509V3_F_V2I_CRLD, ERR_R_MALLOC_FAILURE);-
286 err:
code before this statement never executed: err:
0
287 GENERAL_NAME_free(gen);-
288 GENERAL_NAMES_free(gens);-
289 sk_DIST_POINT_pop_free(crld, DIST_POINT_free);-
290 return NULL;
never executed: return ((void *)0) ;
0
291}-
292-
293static int dpn_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,-
294 void *exarg)-
295{-
296 DIST_POINT_NAME *dpn = (DIST_POINT_NAME *)*pval;-
297-
298 switch (operation) {-
299 case ASN1_OP_NEW_POST:
executed 22404 times by 1 test: case 1:
Executed by:
  • libcrypto.so.1.1
22404
300 dpn->dpname = NULL;-
301 break;
executed 22404 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
22404
302-
303 case ASN1_OP_FREE_POST:
executed 22404 times by 1 test: case 3:
Executed by:
  • libcrypto.so.1.1
22404
304 X509_NAME_free(dpn->dpname);-
305 break;
executed 22404 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
22404
306 }-
307 return 1;
executed 128954 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
128954
308}-
309-
310-
311ASN1_CHOICE_cb(DIST_POINT_NAME, dpn_cb) = {-
312 ASN1_IMP_SEQUENCE_OF(DIST_POINT_NAME, name.fullname, GENERAL_NAME, 0),-
313 ASN1_IMP_SET_OF(DIST_POINT_NAME, name.relativename, X509_NAME_ENTRY, 1)-
314} ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type)-
315-
316-
317IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT_NAME)
never executed: end of block
never executed: return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(DIST_POINT_NAME_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(DIST_POINT_NAME_it)));
never executed: return (DIST_POINT_NAME *)ASN1_item_new((&(DIST_POINT_NAME_it)));
0
318-
319ASN1_SEQUENCE(DIST_POINT) = {-
320 ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0),-
321 ASN1_IMP_OPT(DIST_POINT, reasons, ASN1_BIT_STRING, 1),-
322 ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2)-
323} ASN1_SEQUENCE_END(DIST_POINT)-
324-
325IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT)
never executed: end of block
never executed: return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(DIST_POINT_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(DIST_POINT_it)));
never executed: return (DIST_POINT *)ASN1_item_new((&(DIST_POINT_it)));
0
326-
327ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) =-
328 ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, DIST_POINT)-
329ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS)-
330-
331IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS)
executed 39780 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
never executed: return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(CRL_DIST_POINTS_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(CRL_DIST_POINTS_it)));
never executed: return (CRL_DIST_POINTS *)ASN1_item_new((&(CRL_DIST_POINTS_it)));
0-39780
332-
333ASN1_SEQUENCE(ISSUING_DIST_POINT) = {-
334 ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0),-
335 ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyuser, ASN1_FBOOLEAN, 1),-
336 ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyCA, ASN1_FBOOLEAN, 2),-
337 ASN1_IMP_OPT(ISSUING_DIST_POINT, onlysomereasons, ASN1_BIT_STRING, 3),-
338 ASN1_IMP_OPT(ISSUING_DIST_POINT, indirectCRL, ASN1_FBOOLEAN, 4),-
339 ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5)-
340} ASN1_SEQUENCE_END(ISSUING_DIST_POINT)-
341-
342IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT)
executed 38050 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
never executed: return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(ISSUING_DIST_POINT_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(ISSUING_DIST_POINT_it)));
never executed: return (ISSUING_DIST_POINT *)ASN1_item_new((&(ISSUING_DIST_POINT_it)));
0-38050
343-
344static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out,-
345 int indent);-
346static void *v2i_idp(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,-
347 STACK_OF(CONF_VALUE) *nval);-
348-
349const X509V3_EXT_METHOD v3_idp = {-
350 NID_issuing_distribution_point, X509V3_EXT_MULTILINE,-
351 ASN1_ITEM_ref(ISSUING_DIST_POINT),-
352 0, 0, 0, 0,-
353 0, 0,-
354 0,-
355 v2i_idp,-
356 i2r_idp, 0,-
357 NULL-
358};-
359-
360static void *v2i_idp(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,-
361 STACK_OF(CONF_VALUE) *nval)-
362{-
363 ISSUING_DIST_POINT *idp = NULL;-
364 CONF_VALUE *cnf;-
365 char *name, *val;-
366 int i, ret;-
367 idp = ISSUING_DIST_POINT_new();-
368 if (idp == NULL)
idp == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
369 goto merr;
never executed: goto merr;
0
370 for (i = 0; i < sk_CONF_VALUE_num(nval); i++) {
i < sk_CONF_VALUE_num(nval)Description
TRUEnever evaluated
FALSEnever evaluated
0
371 cnf = sk_CONF_VALUE_value(nval, i);-
372 name = cnf->name;-
373 val = cnf->value;-
374 ret = set_dist_point_name(&idp->distpoint, ctx, cnf);-
375 if (ret > 0)
ret > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
376 continue;
never executed: continue;
0
377 if (ret < 0)
ret < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
378 goto err;
never executed: goto err;
0
379 if (strcmp(name, "onlyuser") == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "onlyuser" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
380 if (!X509V3_get_value_bool(cnf, &idp->onlyuser))
!X509V3_get_va...idp->onlyuser)Description
TRUEnever evaluated
FALSEnever evaluated
0
381 goto err;
never executed: goto err;
0
382 } else if (strcmp(name, "onlyCA") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "onlyCA" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
383 if (!X509V3_get_value_bool(cnf, &idp->onlyCA))
!X509V3_get_va... &idp->onlyCA)Description
TRUEnever evaluated
FALSEnever evaluated
0
384 goto err;
never executed: goto err;
0
385 } else if (strcmp(name, "onlyAA") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "onlyAA" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
386 if (!X509V3_get_value_bool(cnf, &idp->onlyattr))
!X509V3_get_va...idp->onlyattr)Description
TRUEnever evaluated
FALSEnever evaluated
0
387 goto err;
never executed: goto err;
0
388 } else if (strcmp(name, "indirectCRL") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "indirectCRL" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
389 if (!X509V3_get_value_bool(cnf, &idp->indirectCRL))
!X509V3_get_va...->indirectCRL)Description
TRUEnever evaluated
FALSEnever evaluated
0
390 goto err;
never executed: goto err;
0
391 } else if (strcmp(name, "onlysomereasons") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "onlysomereasons" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
392 if (!set_reasons(&idp->onlysomereasons, val))
!set_reasons(&...ereasons, val)Description
TRUEnever evaluated
FALSEnever evaluated
0
393 goto err;
never executed: goto err;
0
394 } else {
never executed: end of block
0
395 X509V3err(X509V3_F_V2I_IDP, X509V3_R_INVALID_NAME);-
396 X509V3_conf_err(cnf);-
397 goto err;
never executed: goto err;
0
398 }-
399 }-
400 return idp;
never executed: return idp;
0
401-
402 merr:-
403 X509V3err(X509V3_F_V2I_IDP, ERR_R_MALLOC_FAILURE);-
404 err:
code before this statement never executed: err:
0
405 ISSUING_DIST_POINT_free(idp);-
406 return NULL;
never executed: return ((void *)0) ;
0
407}-
408-
409static int print_gens(BIO *out, STACK_OF(GENERAL_NAME) *gens, int indent)-
410{-
411 int i;-
412 for (i = 0; i < sk_GENERAL_NAME_num(gens); i++) {
i < sk_GENERAL_NAME_num(gens)Description
TRUEevaluated 4949 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3283 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3283-4949
413 BIO_printf(out, "%*s", indent + 2, "");-
414 GENERAL_NAME_print(out, sk_GENERAL_NAME_value(gens, i));-
415 BIO_puts(out, "\n");-
416 }
executed 4949 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4949
417 return 1;
executed 3283 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
3283
418}-
419-
420static int print_distpoint(BIO *out, DIST_POINT_NAME *dpn, int indent)-
421{-
422 if (dpn->type == 0) {
dpn->type == 0Description
TRUEevaluated 2181 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3538 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2181-3538
423 BIO_printf(out, "%*sFull Name:\n", indent, "");-
424 print_gens(out, dpn->name.fullname, indent);-
425 } else {
executed 2181 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2181
426 X509_NAME ntmp;-
427 ntmp.entries = dpn->name.relativename;-
428 BIO_printf(out, "%*sRelative Name:\n%*s", indent, "", indent + 2, "");-
429 X509_NAME_print_ex(out, &ntmp, 0, XN_FLAG_ONELINE);-
430 BIO_puts(out, "\n");-
431 }
executed 3538 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3538
432 return 1;
executed 5719 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
5719
433}-
434-
435static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out,-
436 int indent)-
437{-
438 ISSUING_DIST_POINT *idp = pidp;-
439 if (idp->distpoint)
idp->distpointDescription
TRUEevaluated 5149 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 6036 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
5149-6036
440 print_distpoint(out, idp->distpoint, indent);
executed 5149 times by 1 test: print_distpoint(out, idp->distpoint, indent);
Executed by:
  • libcrypto.so.1.1
5149
441 if (idp->onlyuser > 0)
idp->onlyuser > 0Description
TRUEevaluated 598 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10587 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
598-10587
442 BIO_printf(out, "%*sOnly User Certificates\n", indent, "");
executed 598 times by 1 test: BIO_printf(out, "%*sOnly User Certificates\n", indent, "");
Executed by:
  • libcrypto.so.1.1
598
443 if (idp->onlyCA > 0)
idp->onlyCA > 0Description
TRUEevaluated 284 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10901 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
284-10901
444 BIO_printf(out, "%*sOnly CA Certificates\n", indent, "");
executed 284 times by 1 test: BIO_printf(out, "%*sOnly CA Certificates\n", indent, "");
Executed by:
  • libcrypto.so.1.1
284
445 if (idp->indirectCRL > 0)
idp->indirectCRL > 0Description
TRUEevaluated 851 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10334 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
851-10334
446 BIO_printf(out, "%*sIndirect CRL\n", indent, "");
executed 851 times by 1 test: BIO_printf(out, "%*sIndirect CRL\n", indent, "");
Executed by:
  • libcrypto.so.1.1
851
447 if (idp->onlysomereasons)
idp->onlysomereasonsDescription
TRUEevaluated 3441 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7744 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3441-7744
448 print_reasons(out, "Only Some Reasons", idp->onlysomereasons, indent);
executed 3441 times by 1 test: print_reasons(out, "Only Some Reasons", idp->onlysomereasons, indent);
Executed by:
  • libcrypto.so.1.1
3441
449 if (idp->onlyattr > 0)
idp->onlyattr > 0Description
TRUEevaluated 283 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10902 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
283-10902
450 BIO_printf(out, "%*sOnly Attribute Certificates\n", indent, "");
executed 283 times by 1 test: BIO_printf(out, "%*sOnly Attribute Certificates\n", indent, "");
Executed by:
  • libcrypto.so.1.1
283
451 if (!idp->distpoint && (idp->onlyuser <= 0) && (idp->onlyCA <= 0)
!idp->distpointDescription
TRUEevaluated 6036 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5149 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
(idp->onlyuser <= 0)Description
TRUEevaluated 5438 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 598 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
(idp->onlyCA <= 0)Description
TRUEevaluated 5155 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 283 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
283-6036
452 && (idp->indirectCRL <= 0) && !idp->onlysomereasons
(idp->indirectCRL <= 0)Description
TRUEevaluated 4305 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 850 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
!idp->onlysomereasonsDescription
TRUEevaluated 864 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3441 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
850-4305
453 && (idp->onlyattr <= 0))
(idp->onlyattr <= 0)Description
TRUEevaluated 581 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 283 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
283-581
454 BIO_printf(out, "%*s<EMPTY>\n", indent, "");
executed 581 times by 1 test: BIO_printf(out, "%*s<EMPTY>\n", indent, "");
Executed by:
  • libcrypto.so.1.1
581
455-
456 return 1;
executed 11185 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
11185
457}-
458-
459static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,-
460 int indent)-
461{-
462 STACK_OF(DIST_POINT) *crld = pcrldp;-
463 DIST_POINT *point;-
464 int i;-
465 for (i = 0; i < sk_DIST_POINT_num(crld); i++) {
i < sk_DIST_POINT_num(crld)Description
TRUEevaluated 3087 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2030 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2030-3087
466 BIO_puts(out, "\n");-
467 point = sk_DIST_POINT_value(crld, i);-
468 if (point->distpoint)
point->distpointDescription
TRUEevaluated 570 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2517 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
570-2517
469 print_distpoint(out, point->distpoint, indent);
executed 570 times by 1 test: print_distpoint(out, point->distpoint, indent);
Executed by:
  • libcrypto.so.1.1
570
470 if (point->reasons)
point->reasonsDescription
TRUEevaluated 226 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2861 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
226-2861
471 print_reasons(out, "Reasons", point->reasons, indent);
executed 226 times by 1 test: print_reasons(out, "Reasons", point->reasons, indent);
Executed by:
  • libcrypto.so.1.1
226
472 if (point->CRLissuer) {
point->CRLissuerDescription
TRUEevaluated 1102 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1985 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1102-1985
473 BIO_printf(out, "%*sCRL Issuer:\n", indent, "");-
474 print_gens(out, point->CRLissuer, indent);-
475 }
executed 1102 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1102
476 }
executed 3087 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3087
477 return 1;
executed 2030 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
2030
478}-
479-
480int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname)-
481{-
482 int i;-
483 STACK_OF(X509_NAME_ENTRY) *frag;-
484 X509_NAME_ENTRY *ne;-
485 if (!dpn || (dpn->type != 1))
!dpnDescription
TRUEevaluated 2619 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 6990 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
(dpn->type != 1)Description
TRUEevaluated 458 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 6532 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
458-6990
486 return 1;
executed 3077 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
3077
487 frag = dpn->name.relativename;-
488 dpn->dpname = X509_NAME_dup(iname);-
489 if (!dpn->dpname)
!dpn->dpnameDescription
TRUEevaluated 1358 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5174 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1358-5174
490 return 0;
executed 1358 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
1358
491 for (i = 0; i < sk_X509_NAME_ENTRY_num(frag); i++) {
i < sk_X509_NA...NTRY_num(frag)Description
TRUEevaluated 18914 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4775 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4775-18914
492 ne = sk_X509_NAME_ENTRY_value(frag, i);-
493 if (!X509_NAME_add_entry(dpn->dpname, ne, -1, i ? 0 : 1)) {
!X509_NAME_add...-1, i ? 0 : 1)Description
TRUEevaluated 399 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 18515 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
399-18515
494 X509_NAME_free(dpn->dpname);-
495 dpn->dpname = NULL;-
496 return 0;
executed 399 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
399
497 }-
498 }
executed 18515 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
18515
499 /* generate cached encoding of name */-
500 if (i2d_X509_NAME(dpn->dpname, NULL) < 0) {
i2d_X509_NAME(...oid *)0) ) < 0Description
TRUEnever evaluated
FALSEevaluated 4775 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4775
501 X509_NAME_free(dpn->dpname);-
502 dpn->dpname = NULL;-
503 return 0;
never executed: return 0;
0
504 }-
505 return 1;
executed 4775 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
4775
506}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2