OpenCoverage

tasn_prn.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/tasn_prn.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9ASN1_PCTX default_pctx = {-
10 0x001,-
11 0,-
12 0,-
13 0,-
14 0-
15};-
16-
17-
18ASN1_PCTX *-
19ASN1_PCTX_new(void)-
20{-
21 ASN1_PCTX *ret;-
22 ret = malloc(sizeof(ASN1_PCTX));-
23 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
24 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
25 ) {-
26 ERR_put_error(13,(0xfff),((1|64)),__FILE__,90);-
27 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
28 ((void *)0)
never executed: return ((void *)0) ;
0
29 ;
never executed: return ((void *)0) ;
0
30 }-
31 ret->flags = 0;-
32 ret->nm_flags = 0;-
33 ret->cert_flags = 0;-
34 ret->oid_flags = 0;-
35 ret->str_flags = 0;-
36 return
never executed: return ret;
ret;
never executed: return ret;
0
37}-
38-
39void-
40ASN1_PCTX_free(ASN1_PCTX *p)-
41{-
42 free(p);-
43}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
44-
45unsigned long-
46ASN1_PCTX_get_flags(const ASN1_PCTX *p)-
47{-
48 return
never executed: return p->flags;
p->flags;
never executed: return p->flags;
0
49}-
50-
51void-
52ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags)-
53{-
54 p->flags = flags;-
55}
never executed: end of block
0
56-
57unsigned long-
58ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p)-
59{-
60 return
never executed: return p->nm_flags;
p->nm_flags;
never executed: return p->nm_flags;
0
61}-
62-
63void-
64ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags)-
65{-
66 p->nm_flags = flags;-
67}
never executed: end of block
0
68-
69unsigned long-
70ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p)-
71{-
72 return
never executed: return p->cert_flags;
p->cert_flags;
never executed: return p->cert_flags;
0
73}-
74-
75void-
76ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags)-
77{-
78 p->cert_flags = flags;-
79}
never executed: end of block
0
80-
81unsigned long-
82ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p)-
83{-
84 return
never executed: return p->oid_flags;
p->oid_flags;
never executed: return p->oid_flags;
0
85}-
86-
87void-
88ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags)-
89{-
90 p->oid_flags = flags;-
91}
never executed: end of block
0
92-
93unsigned long-
94ASN1_PCTX_get_str_flags(const ASN1_PCTX *p)-
95{-
96 return
never executed: return p->str_flags;
p->str_flags;
never executed: return p->str_flags;
0
97}-
98-
99void-
100ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags)-
101{-
102 p->str_flags = flags;-
103}
never executed: end of block
0
104-
105-
106-
107static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent,-
108 const ASN1_ITEM *it, const char *fname, const char *sname, int nohdr,-
109 const ASN1_PCTX *pctx);-
110-
111int asn1_template_print_ctx(BIO *out, ASN1_VALUE **fld, int indent,-
112 const ASN1_TEMPLATE *tt, const ASN1_PCTX *pctx);-
113-
114static int asn1_primitive_print(BIO *out, ASN1_VALUE **fld,-
115 const ASN1_ITEM *it, int indent, const char *fname, const char *sname,-
116 const ASN1_PCTX *pctx);-
117-
118static int asn1_print_fsname(BIO *out, int indent, const char *fname,-
119 const char *sname, const ASN1_PCTX *pctx);-
120-
121int-
122ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it,-
123 const ASN1_PCTX *pctx)-
124{-
125 const char *sname;-
126-
127 if (pctx ==
pctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
128 ((void *)0)
pctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
129 )-
130 pctx = &default_pctx;
never executed: pctx = &default_pctx;
0
131 if (pctx->flags & 0x100
pctx->flags & 0x100Description
TRUEnever evaluated
FALSEnever evaluated
)
0
132 sname =
never executed: sname = ((void *)0) ;
0
133 ((void *)0)
never executed: sname = ((void *)0) ;
0
134 ;
never executed: sname = ((void *)0) ;
0
135 else-
136 sname = it->sname;
never executed: sname = it->sname;
0
137 return
never executed: return asn1_item_print_ctx(out, &ifld, indent, it, ((void *)0) , sname, 0, pctx);
asn1_item_print_ctx(out, &ifld, indent, it,
never executed: return asn1_item_print_ctx(out, &ifld, indent, it, ((void *)0) , sname, 0, pctx);
0
138 ((void *)0)
never executed: return asn1_item_print_ctx(out, &ifld, indent, it, ((void *)0) , sname, 0, pctx);
0
139 , sname,
never executed: return asn1_item_print_ctx(out, &ifld, indent, it, ((void *)0) , sname, 0, pctx);
0
140 0, pctx);
never executed: return asn1_item_print_ctx(out, &ifld, indent, it, ((void *)0) , sname, 0, pctx);
0
141}-
142-
143static int-
144asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, const ASN1_ITEM *it,-
145 const char *fname, const char *sname, int nohdr, const ASN1_PCTX *pctx)-
146{-
147 const ASN1_TEMPLATE *tt;-
148 const ASN1_EXTERN_FUNCS *ef;-
149 ASN1_VALUE **tmpfld;-
150 const ASN1_AUX *aux = it->funcs;-
151 ASN1_aux_cb *asn1_cb;-
152 ASN1_PRINT_ARG parg;-
153 int i;-
154-
155 if (aux
auxDescription
TRUEnever evaluated
FALSEnever evaluated
&& aux->asn1_cb
aux->asn1_cbDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
156 parg.out = out;-
157 parg.indent = indent;-
158 parg.pctx = pctx;-
159 asn1_cb = aux->asn1_cb;-
160 }
never executed: end of block
else
0
161 asn1_cb =
never executed: asn1_cb = ((void *)0) ;
0
162 ((void *)0)
never executed: asn1_cb = ((void *)0) ;
0
163 ;
never executed: asn1_cb = ((void *)0) ;
0
164-
165 if (*
*fld == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
fld ==
*fld == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
166 ((void *)0)
*fld == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
167 ) {-
168 if (pctx->flags & 0x001
pctx->flags & 0x001Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
169 if (!nohdr
!nohdrDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
170 !asn1_print_fsname(out, indent, fname, sname, pctx)
!asn1_print_fs..., sname, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
171 return
never executed: return 0;
0;
never executed: return 0;
0
172 if (BIO_puts(out, "<ABSENT>\n") <= 0
BIO_puts(out, ...SENT>\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
173 return
never executed: return 0;
0;
never executed: return 0;
0
174 }
never executed: end of block
0
175 return
never executed: return 1;
1;
never executed: return 1;
0
176 }-
177-
178 switch (it->itype) {-
179 case
never executed: case 0x0:
0x0:
never executed: case 0x0:
0
180 if (it->templates
it->templatesDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
181 if (!asn1_template_print_ctx(out, fld, indent,
!asn1_template...mplates, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
182 it->templates, pctx)
!asn1_template...mplates, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
183 return
never executed: return 0;
0;
never executed: return 0;
0
184 }
never executed: end of block
0
185-
186 case
never executed: case 0x5:
0x5:
never executed: case 0x5:
code before this statement never executed: case 0x5:
0
187 if (!asn1_primitive_print(out, fld, it,
!asn1_primitiv..., sname, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
188 indent, fname, sname, pctx)
!asn1_primitiv..., sname, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
189 return
never executed: return 0;
0;
never executed: return 0;
0
190 break;
never executed: break;
0
191-
192 case
never executed: case 0x4:
0x4:
never executed: case 0x4:
0
193 if (!nohdr
!nohdrDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
194 !asn1_print_fsname(out, indent, fname, sname, pctx)
!asn1_print_fs..., sname, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
195 return
never executed: return 0;
0;
never executed: return 0;
0
196-
197 ef = it->funcs;-
198 if (ef
efDescription
TRUEnever evaluated
FALSEnever evaluated
&& ef->asn1_ex_print
ef->asn1_ex_printDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
199 i = ef->asn1_ex_print(out, fld, indent, "", pctx);-
200 if (!i
!iDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
201 return
never executed: return 0;
0;
never executed: return 0;
0
202 if ((
(i == 2)Description
TRUEnever evaluated
FALSEnever evaluated
i == 2)
(i == 2)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(BIO_puts(out, "\n") <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
BIO_puts(out, "\n") <= 0)
(BIO_puts(out, "\n") <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
203 return
never executed: return 0;
0;
never executed: return 0;
0
204 return
never executed: return 1;
1;
never executed: return 1;
0
205 } else if (sname
snameDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
206 BIO_printf(out, ":EXTERNAL TYPE %s\n", sname) <= 0
BIO_printf(out...", sname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
207 return
never executed: return 0;
0;
never executed: return 0;
0
208 break;
never executed: break;
0
209-
210 case
never executed: case 0x2:
0x2:
never executed: case 0x2:
0
211-
212 i = asn1_get_choice_selector(fld, it);-
213-
214 if ((
(i < 0)Description
TRUEnever evaluated
FALSEnever evaluated
i < 0)
(i < 0)Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(i >= it->tcount)Description
TRUEnever evaluated
FALSEnever evaluated
i >= it->tcount)
(i >= it->tcount)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
215 if (BIO_printf(out,
BIO_printf(out...id\n", i) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
216 "ERROR: selector [%d] invalid\n", i) <= 0
BIO_printf(out...id\n", i) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
217 return
never executed: return 0;
0;
never executed: return 0;
0
218 return
never executed: return 1;
1;
never executed: return 1;
0
219 }-
220 tt = it->templates + i;-
221 tmpfld = asn1_get_field_ptr(fld, tt);-
222 if (!asn1_template_print_ctx(out, tmpfld, indent, tt, pctx)
!asn1_template...ent, tt, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
223 return
never executed: return 0;
0;
never executed: return 0;
0
224 break;
never executed: break;
0
225-
226 case
never executed: case 0x1:
0x1:
never executed: case 0x1:
0
227 case
never executed: case 0x6:
0x6:
never executed: case 0x6:
0
228 if (!nohdr
!nohdrDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
229 !asn1_print_fsname(out, indent, fname, sname, pctx)
!asn1_print_fs..., sname, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
230 return
never executed: return 0;
0;
never executed: return 0;
0
231 if (fname
fnameDescription
TRUEnever evaluated
FALSEnever evaluated
|| sname
snameDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
232 if (pctx->flags & 0x002
pctx->flags & 0x002Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
233 if (BIO_puts(out, " {\n") <= 0
BIO_puts(out, " {\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
234 return
never executed: return 0;
0;
never executed: return 0;
0
235 }
never executed: end of block
else {
0
236 if (BIO_puts(out, "\n") <= 0
BIO_puts(out, "\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
237 return
never executed: return 0;
0;
never executed: return 0;
0
238 }
never executed: end of block
0
239 }-
240-
241 if (asn1_cb
asn1_cbDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
242 i = asn1_cb(8, fld, it, &parg);-
243 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
244 return
never executed: return 0;
0;
never executed: return 0;
0
245 if (i == 2
i == 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
246 return
never executed: return 1;
1;
never executed: return 1;
0
247 }
never executed: end of block
0
248-
249-
250 for (i = 0, tt = it->templates; i < it->tcount
i < it->tcountDescription
TRUEnever evaluated
FALSEnever evaluated
; i++, tt++) {
0
251 const ASN1_TEMPLATE *seqtt;-
252-
253 seqtt = asn1_do_adb(fld, tt, 1);-
254 if (seqtt ==
seqtt == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
255 ((void *)0)
seqtt == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
256 )-
257 return
never executed: return 0;
0;
never executed: return 0;
0
258 tmpfld = asn1_get_field_ptr(fld, seqtt);-
259 if (!asn1_template_print_ctx(out, tmpfld, indent + 2,
!asn1_template..., seqtt, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
260 seqtt, pctx)
!asn1_template..., seqtt, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
261 return
never executed: return 0;
0;
never executed: return 0;
0
262 }
never executed: end of block
0
263 if (pctx->flags & 0x002
pctx->flags & 0x002Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
264 if (BIO_printf(out, "%*s}\n", indent, "") < 0
BIO_printf(out...ndent, "") < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
265 return
never executed: return 0;
0;
never executed: return 0;
0
266 }
never executed: end of block
0
267-
268 if (asn1_cb
asn1_cbDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
269 i = asn1_cb(9, fld, it, &parg);-
270 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
271 return
never executed: return 0;
0;
never executed: return 0;
0
272 }
never executed: end of block
0
273 break;
never executed: break;
0
274-
275 default
never executed: default:
:
never executed: default:
0
276 BIO_printf(out, "Unprocessed type %d\n", it->itype);-
277 return
never executed: return 0;
0;
never executed: return 0;
0
278 }-
279-
280 return
never executed: return 1;
1;
never executed: return 1;
0
281}-
282-
283int-
284asn1_template_print_ctx(BIO *out, ASN1_VALUE **fld, int indent,-
285 const ASN1_TEMPLATE *tt, const ASN1_PCTX *pctx)-
286{-
287 int i, flags;-
288 const char *sname, *fname;-
289-
290 flags = tt->flags;-
291 if (pctx->flags & 0x080
pctx->flags & 0x080Description
TRUEnever evaluated
FALSEnever evaluated
)
0
292 sname = tt->item->sname;
never executed: sname = tt->item->sname;
0
293 else-
294 sname =
never executed: sname = ((void *)0) ;
0
295 ((void *)0)
never executed: sname = ((void *)0) ;
0
296 ;
never executed: sname = ((void *)0) ;
0
297 if (pctx->flags & 0x040
pctx->flags & 0x040Description
TRUEnever evaluated
FALSEnever evaluated
)
0
298 fname =
never executed: fname = ((void *)0) ;
0
299 ((void *)0)
never executed: fname = ((void *)0) ;
0
300 ;
never executed: fname = ((void *)0) ;
0
301 else-
302 fname = tt->field_name;
never executed: fname = tt->field_name;
0
303 if (flags & (0x3 << 1)
flags & (0x3 << 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
304 char *tname;-
305 ASN1_VALUE *skitem;-
306 struct stack_st_ASN1_VALUE *stack;-
307-
308-
309 if (fname
fnameDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
310 if (pctx->flags & 0x004
pctx->flags & 0x004Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
311 if (flags & (0x1 << 1)
flags & (0x1 << 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
312 tname = "SET";
never executed: tname = "SET";
0
313 else-
314 tname = "SEQUENCE";
never executed: tname = "SEQUENCE";
0
315 if (BIO_printf(out, "%*s%s OF %s {\n",
BIO_printf(out...eld_name) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
316 indent, "", tname, tt->field_name) <= 0
BIO_printf(out...eld_name) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
317 return
never executed: return 0;
0;
never executed: return 0;
0
318 }
never executed: end of block
else if (BIO_printf(out, "%*s%s:\n", indent, "",
BIO_printf(out...", fname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
319 fname) <= 0
BIO_printf(out...", fname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
320 return
never executed: return 0;
0;
never executed: return 0;
0
321 }
never executed: end of block
0
322 stack = (struct stack_st_ASN1_VALUE *)*fld;-
323 for (i = 0; i < sk_num(((_STACK*) (1 ? (stack) : (struct stack_st_ASN1_VALUE*)0)))
i < sk_num(((_...N1_VALUE*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
324 if ((
(i > 0)Description
TRUEnever evaluated
FALSEnever evaluated
i > 0)
(i > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(BIO_puts(out, "\n") <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
BIO_puts(out, "\n") <= 0)
(BIO_puts(out, "\n") <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
325 return
never executed: return 0;
0;
never executed: return 0;
0
326 skitem = ((ASN1_VALUE *)sk_value(((_STACK*) (1 ? (stack) : (struct stack_st_ASN1_VALUE*)0)), (i)));-
327 if (!asn1_item_print_ctx(out, &skitem, indent + 2,
!asn1_item_pri...)0) , 1, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
328 tt->item,
!asn1_item_pri...)0) , 1, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
329 ((void *)0)
!asn1_item_pri...)0) , 1, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
330 ,
!asn1_item_pri...)0) , 1, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
331 ((void *)0)
!asn1_item_pri...)0) , 1, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
332 , 1, pctx)
!asn1_item_pri...)0) , 1, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
333 return
never executed: return 0;
0;
never executed: return 0;
0
334 }
never executed: end of block
0
335 if (!i
!iDescription
TRUEnever evaluated
FALSEnever evaluated
&& BIO_printf(out, "%*s<EMPTY>\n", indent + 2, "") <= 0
BIO_printf(out... + 2, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
336 return
never executed: return 0;
0;
never executed: return 0;
0
337 if (pctx->flags & 0x002
pctx->flags & 0x002Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
338 if (BIO_printf(out, "%*s}\n", indent, "") <= 0
BIO_printf(out...dent, "") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
339 return
never executed: return 0;
0;
never executed: return 0;
0
340 }
never executed: end of block
0
341 return
never executed: return 1;
1;
never executed: return 1;
0
342 }-
343 return
never executed: return asn1_item_print_ctx(out, fld, indent, tt->item, fname, sname, 0, pctx);
asn1_item_print_ctx(out, fld, indent, tt->item,
never executed: return asn1_item_print_ctx(out, fld, indent, tt->item, fname, sname, 0, pctx);
0
344 fname, sname, 0, pctx);
never executed: return asn1_item_print_ctx(out, fld, indent, tt->item, fname, sname, 0, pctx);
0
345}-
346-
347static int-
348asn1_print_fsname(BIO *out, int indent, const char *fname, const char *sname,-
349 const ASN1_PCTX *pctx)-
350{-
351 static char spaces[] = " ";-
352 const int nspaces = sizeof(spaces) - 1;-
353-
354 while (indent > nspaces
indent > nspacesDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
355 if (BIO_write(out, spaces, nspaces) != nspaces
BIO_write(out,...es) != nspacesDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
356 return
never executed: return 0;
0;
never executed: return 0;
0
357 indent -= nspaces;-
358 }
never executed: end of block
0
359 if (BIO_write(out, spaces, indent) != indent
BIO_write(out,...ent) != indentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
360 return
never executed: return 0;
0;
never executed: return 0;
0
361 if (pctx->flags & 0x100
pctx->flags & 0x100Description
TRUEnever evaluated
FALSEnever evaluated
)
0
362 sname =
never executed: sname = ((void *)0) ;
0
363 ((void *)0)
never executed: sname = ((void *)0) ;
0
364 ;
never executed: sname = ((void *)0) ;
0
365 if (pctx->flags & 0x040
pctx->flags & 0x040Description
TRUEnever evaluated
FALSEnever evaluated
)
0
366 fname =
never executed: fname = ((void *)0) ;
0
367 ((void *)0)
never executed: fname = ((void *)0) ;
0
368 ;
never executed: fname = ((void *)0) ;
0
369 if (!sname
!snameDescription
TRUEnever evaluated
FALSEnever evaluated
&& !fname
!fnameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
370 return
never executed: return 1;
1;
never executed: return 1;
0
371 if (fname
fnameDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
372 if (BIO_puts(out, fname) <= 0
BIO_puts(out, fname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
373 return
never executed: return 0;
0;
never executed: return 0;
0
374 }
never executed: end of block
0
375 if (sname
snameDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
376 if (fname
fnameDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
377 if (BIO_printf(out, " (%s)", sname) <= 0
BIO_printf(out...", sname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
378 return
never executed: return 0;
0;
never executed: return 0;
0
379 }
never executed: end of block
else {
0
380 if (BIO_puts(out, sname) <= 0
BIO_puts(out, sname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
381 return
never executed: return 0;
0;
never executed: return 0;
0
382 }
never executed: end of block
0
383 }-
384 if (BIO_write(out, ": ", 2) != 2
BIO_write(out, ": ", 2) != 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
385 return
never executed: return 0;
0;
never executed: return 0;
0
386 return
never executed: return 1;
1;
never executed: return 1;
0
387}-
388-
389static int-
390asn1_print_boolean_ctx(BIO *out, int boolval, const ASN1_PCTX *pctx)-
391{-
392 const char *str;-
393 switch (boolval) {-
394 case
never executed: case -1:
-1:
never executed: case -1:
0
395 str = "BOOL ABSENT";-
396 break;
never executed: break;
0
397-
398 case
never executed: case 0:
0:
never executed: case 0:
0
399 str = "FALSE";-
400 break;
never executed: break;
0
401-
402 default
never executed: default:
:
never executed: default:
0
403 str = "TRUE";-
404 break;
never executed: break;
0
405-
406 }-
407-
408 if (BIO_puts(out, str) <= 0
BIO_puts(out, str) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
409 return
never executed: return 0;
0;
never executed: return 0;
0
410 return
never executed: return 1;
1;
never executed: return 1;
0
411-
412}-
413-
414static int-
415asn1_print_integer_ctx(BIO *out, ASN1_INTEGER *str, const ASN1_PCTX *pctx)-
416{-
417 char *s;-
418 int ret = 1;-
419 s = i2s_ASN1_INTEGER(-
420 ((void *)0)-
421 , str);-
422 if (BIO_puts(out, s) <= 0
BIO_puts(out, s) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
423 ret = 0;
never executed: ret = 0;
0
424 free(s);-
425 return
never executed: return ret;
ret;
never executed: return ret;
0
426}-
427-
428static int-
429asn1_print_oid_ctx(BIO *out, const ASN1_OBJECT *oid, const ASN1_PCTX *pctx)-
430{-
431 char objbuf[80];-
432 const char *ln;-
433 ln = OBJ_nid2ln(OBJ_obj2nid(oid));-
434 if (!ln
!lnDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
435 ln = "";
never executed: ln = "";
0
436 OBJ_obj2txt(objbuf, sizeof objbuf, oid, 1);-
437 if (BIO_printf(out, "%s (%s)", ln, objbuf) <= 0
BIO_printf(out..., objbuf) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
438 return
never executed: return 0;
0;
never executed: return 0;
0
439 return
never executed: return 1;
1;
never executed: return 1;
0
440}-
441-
442static int-
443asn1_print_obstring_ctx(BIO *out, ASN1_STRING *str, int indent,-
444 const ASN1_PCTX *pctx)-
445{-
446 if (str->type == 3
str->type == 3Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
447 if (BIO_printf(out, " (%ld unused bits)\n",
BIO_printf(out...gs & 0x7) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
448 str->flags & 0x7) <= 0
BIO_printf(out...gs & 0x7) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
449 return
never executed: return 0;
0;
never executed: return 0;
0
450 }
never executed: end of block
else if (BIO_puts(out, "\n") <= 0
BIO_puts(out, "\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
451 return
never executed: return 0;
0;
never executed: return 0;
0
452 if ((
(str->length > 0)Description
TRUEnever evaluated
FALSEnever evaluated
str->length > 0)
(str->length > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
453 BIO_dump_indent(out, (char *)str->data, str->length,
BIO_dump_inden...dent + 2) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
454 indent + 2) <= 0
BIO_dump_inden...dent + 2) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
455 return
never executed: return 0;
0;
never executed: return 0;
0
456 return
never executed: return 1;
1;
never executed: return 1;
0
457}-
458-
459static int-
460asn1_primitive_print(BIO *out, ASN1_VALUE **fld, const ASN1_ITEM *it,-
461 int indent, const char *fname, const char *sname, const ASN1_PCTX *pctx)-
462{-
463 long utype;-
464 ASN1_STRING *str;-
465 int ret = 1, needlf = 1;-
466 const char *pname;-
467 const ASN1_PRIMITIVE_FUNCS *pf;-
468-
469 pf = it->funcs;-
470 if (!asn1_print_fsname(out, indent, fname, sname, pctx)
!asn1_print_fs..., sname, pctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
471 return
never executed: return 0;
0;
never executed: return 0;
0
472 if (pf
pfDescription
TRUEnever evaluated
FALSEnever evaluated
&& pf->prim_print
pf->prim_printDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
473 return
never executed: return pf->prim_print(out, fld, it, indent, pctx);
pf->prim_print(out, fld, it, indent, pctx);
never executed: return pf->prim_print(out, fld, it, indent, pctx);
0
474 str = (ASN1_STRING *)*fld;-
475 if (it->itype == 0x5
it->itype == 0x5Description
TRUEnever evaluated
FALSEnever evaluated
)
0
476 utype = str->type & ~0x100;
never executed: utype = str->type & ~0x100;
0
477 else-
478 utype = it->utype;
never executed: utype = it->utype;
0
479 if (utype == -4
utype == -4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
480 ASN1_TYPE *atype = (ASN1_TYPE *)*fld;-
481 utype = atype->type;-
482 fld = &atype->value.asn1_value;-
483 str = (ASN1_STRING *)*fld;-
484 if (pctx->flags & 0x010
pctx->flags & 0x010Description
TRUEnever evaluated
FALSEnever evaluated
)
0
485 pname =
never executed: pname = ((void *)0) ;
0
486 ((void *)0)
never executed: pname = ((void *)0) ;
0
487 ;
never executed: pname = ((void *)0) ;
0
488 else-
489 pname = ASN1_tag2str(utype);
never executed: pname = ASN1_tag2str(utype);
0
490 } else {-
491 if (pctx->flags & 0x008
pctx->flags & 0x008Description
TRUEnever evaluated
FALSEnever evaluated
)
0
492 pname = ASN1_tag2str(utype);
never executed: pname = ASN1_tag2str(utype);
0
493 else-
494 pname =
never executed: pname = ((void *)0) ;
0
495 ((void *)0)
never executed: pname = ((void *)0) ;
0
496 ;
never executed: pname = ((void *)0) ;
0
497 }-
498-
499 if (utype == 5
utype == 5Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
500 if (BIO_puts(out, "NULL\n") <= 0
BIO_puts(out, "NULL\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
501 return
never executed: return 0;
0;
never executed: return 0;
0
502 return
never executed: return 1;
1;
never executed: return 1;
0
503 }-
504-
505 if (pname
pnameDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
506 if (BIO_puts(out, pname) <= 0
BIO_puts(out, pname) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
507 return
never executed: return 0;
0;
never executed: return 0;
0
508 if (BIO_puts(out, ":") <= 0
BIO_puts(out, ":") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
509 return
never executed: return 0;
0;
never executed: return 0;
0
510 }
never executed: end of block
0
511-
512 switch (utype) {-
513 case
never executed: case 1:
1:
never executed: case 1:
0
514 {-
515 int boolval = *(int *)fld;-
516 if (boolval == -1
boolval == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
517 boolval = it->size;
never executed: boolval = it->size;
0
518 ret = asn1_print_boolean_ctx(out, boolval, pctx);-
519 }-
520 break;
never executed: break;
0
521-
522 case
never executed: case 2:
2:
never executed: case 2:
0
523 case
never executed: case 10:
10:
never executed: case 10:
0
524 ret = asn1_print_integer_ctx(out, str, pctx);-
525 break;
never executed: break;
0
526-
527 case
never executed: case 23:
23:
never executed: case 23:
0
528 ret = ASN1_UTCTIME_print(out, str);-
529 break;
never executed: break;
0
530-
531 case
never executed: case 24:
24:
never executed: case 24:
0
532 ret = ASN1_GENERALIZEDTIME_print(out, str);-
533 break;
never executed: break;
0
534-
535 case
never executed: case 6:
6:
never executed: case 6:
0
536 ret = asn1_print_oid_ctx(out, (const ASN1_OBJECT *)*fld, pctx);-
537 break;
never executed: break;
0
538-
539 case
never executed: case 4:
4:
never executed: case 4:
0
540 case
never executed: case 3:
3:
never executed: case 3:
0
541 ret = asn1_print_obstring_ctx(out, str, indent, pctx);-
542 needlf = 0;-
543 break;
never executed: break;
0
544-
545 case
never executed: case 16:
16:
never executed: case 16:
0
546 case
never executed: case 17:
17:
never executed: case 17:
0
547 case
never executed: case -3:
-3:
never executed: case -3:
0
548 if (BIO_puts(out, "\n") <= 0
BIO_puts(out, "\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
549 return
never executed: return 0;
0;
never executed: return 0;
0
550 if (ASN1_parse_dump(out, str->data, str->length,
ASN1_parse_dum...ndent, 0) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
551 indent, 0) <= 0
ASN1_parse_dum...ndent, 0) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
552 ret = 0;
never executed: ret = 0;
0
553 needlf = 0;-
554 break;
never executed: break;
0
555-
556 default
never executed: default:
:
never executed: default:
0
557 ret = ASN1_STRING_print_ex(out, str, pctx->str_flags);-
558 }
never executed: end of block
0
559 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
560 return
never executed: return 0;
0;
never executed: return 0;
0
561 if (needlf
needlfDescription
TRUEnever evaluated
FALSEnever evaluated
&& BIO_puts(out, "\n") <= 0
BIO_puts(out, "\n") <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
562 return
never executed: return 0;
0;
never executed: return 0;
0
563 return
never executed: return 1;
1;
never executed: return 1;
0
564}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2