OpenCoverage

a_strex.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/a_strex.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4static int-
5send_bio_chars(void *arg, const void *buf, int len)-
6{-
7 if (!arg
!argDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
8 return
never executed: return 1;
1;
never executed: return 1;
0
9 if (BIO_write(arg, buf, len) != len
BIO_write(arg,...f, len) != lenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
10 return
never executed: return 0;
0;
never executed: return 0;
0
11 return
never executed: return 1;
1;
never executed: return 1;
0
12}-
13-
14static int-
15send_fp_chars(void *arg, const void *buf, int len)-
16{-
17 if (!arg
!argDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
18 return
never executed: return 1;
1;
never executed: return 1;
0
19 if (fwrite(buf, 1, (size_t)len, arg) != (size_t)len
fwrite(buf, 1,...!= (size_t)lenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
20 return
never executed: return 0;
0;
never executed: return 0;
0
21 return
never executed: return 1;
1;
never executed: return 1;
0
22}-
23-
24typedef int char_io(void *arg, const void *buf, int len);-
25static int-
26do_esc_char(unsigned long c, unsigned char flags, char *do_quotes,-
27 char_io *io_ch, void *arg)-
28{-
29 unsigned char chflgs, chtmp;-
30 char tmphex[sizeof(long) * 2 + 3];-
31-
32 if (c > 0xffffffffL
c > 0xffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
33 return
never executed: return -1;
-1;
never executed: return -1;
0
34 if (c > 0xffff
c > 0xffffDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
35 snprintf(tmphex, sizeof tmphex, "\\W%08lX", c);-
36 if (!io_ch(arg, tmphex, 10)
!io_ch(arg, tmphex, 10)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
37 return
never executed: return -1;
-1;
never executed: return -1;
0
38 return
never executed: return 10;
10;
never executed: return 10;
0
39 }-
40 if (c > 0xff
c > 0xffDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
41 snprintf(tmphex, sizeof tmphex, "\\U%04lX", c);-
42 if (!io_ch(arg, tmphex, 6)
!io_ch(arg, tmphex, 6)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
43 return
never executed: return -1;
-1;
never executed: return -1;
0
44 return
never executed: return 6;
6;
never executed: return 6;
0
45 }-
46 chtmp = (unsigned char)c;-
47 if (chtmp > 0x7f
chtmp > 0x7fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
48 chflgs = flags & 4;
never executed: chflgs = flags & 4;
0
49 else-
50 chflgs = char_type[chtmp] & flags;
never executed: chflgs = char_type[chtmp] & flags;
0
51 if (chflgs & (1 | 0x20 | 0x40)
chflgs & (1 | 0x20 | 0x40)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
52-
53 if (chflgs & 8
chflgs & 8Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
54 if (do_quotes
do_quotesDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
55 *
never executed: *do_quotes = 1;
do_quotes = 1;
never executed: *do_quotes = 1;
0
56 if (!io_ch(arg, &chtmp, 1)
!io_ch(arg, &chtmp, 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
57 return
never executed: return -1;
-1;
never executed: return -1;
0
58 return
never executed: return 1;
1;
never executed: return 1;
0
59 }-
60 if (!io_ch(arg, "\\", 1)
!io_ch(arg, "\\", 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
61 return
never executed: return -1;
-1;
never executed: return -1;
0
62 if (!io_ch(arg, &chtmp, 1)
!io_ch(arg, &chtmp, 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
63 return
never executed: return -1;
-1;
never executed: return -1;
0
64 return
never executed: return 2;
2;
never executed: return 2;
0
65 }-
66 if (chflgs & (2|4)
chflgs & (2|4)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
67 snprintf(tmphex, sizeof tmphex, "\\%02X", chtmp);-
68 if (!io_ch(arg, tmphex, 3)
!io_ch(arg, tmphex, 3)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
69 return
never executed: return -1;
-1;
never executed: return -1;
0
70 return
never executed: return 3;
3;
never executed: return 3;
0
71 }-
72-
73-
74-
75 if (chtmp == '\\'
chtmp == '\\'Description
TRUEnever evaluated
FALSEnever evaluated
&& flags & (1 | 8 | 2 | 4)
flags & (1 | 8 | 2 | 4)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
76 if (!io_ch(arg, "\\\\", 2)
!io_ch(arg, "\\\\", 2)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
77 return
never executed: return -1;
-1;
never executed: return -1;
0
78 return
never executed: return 2;
2;
never executed: return 2;
0
79 }-
80 if (!io_ch(arg, &chtmp, 1)
!io_ch(arg, &chtmp, 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
81 return
never executed: return -1;
-1;
never executed: return -1;
0
82 return
never executed: return 1;
1;
never executed: return 1;
0
83}-
84static int-
85do_buf(unsigned char *buf, int buflen, int type, unsigned char flags,-
86 char *quotes, char_io *io_ch, void *arg)-
87{-
88 int i, outlen, len;-
89 unsigned char orflags, *p, *q;-
90 unsigned long c;-
91-
92 p = buf;-
93 q = buf + buflen;-
94 outlen = 0;-
95 while (p != q
p != qDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
96 if (p == buf
p == bufDescription
TRUEnever evaluated
FALSEnever evaluated
&& flags & 1
flags & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
97 orflags = 0x20;
never executed: orflags = 0x20;
0
98 else-
99 orflags = 0;
never executed: orflags = 0;
0
100 switch (type & 0x7) {-
101 case
never executed: case 4:
4:
never executed: case 4:
0
102 c = ((unsigned long)*p++) << 24;-
103 c |= ((unsigned long)*p++) << 16;-
104 c |= ((unsigned long)*p++) << 8;-
105 c |= *p++;-
106 if (c > 0x10FFFF
c > 0x10FFFFDescription
TRUEnever evaluated
FALSEnever evaluated
|| ((
(c) >= 0x00D800Description
TRUEnever evaluated
FALSEnever evaluated
c) >= 0x00D800
(c) >= 0x00D800Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(c) <= 0x00DFFFDescription
TRUEnever evaluated
FALSEnever evaluated
c) <= 0x00DFFF
(c) <= 0x00DFFFDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
107 return
never executed: return -1;
-1;
never executed: return -1;
0
108 break;
never executed: break;
0
109-
110 case
never executed: case 2:
2:
never executed: case 2:
0
111 c = ((unsigned long)*p++) << 8;-
112 c |= *p++;-
113 if (((
(c) >= 0x00D800Description
TRUEnever evaluated
FALSEnever evaluated
c) >= 0x00D800
(c) >= 0x00D800Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(c) <= 0x00DFFFDescription
TRUEnever evaluated
FALSEnever evaluated
c) <= 0x00DFFF
(c) <= 0x00DFFFDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
114 return
never executed: return -1;
-1;
never executed: return -1;
0
115 break;
never executed: break;
0
116-
117 case
never executed: case 1:
1:
never executed: case 1:
0
118 c = *p++;-
119 break;
never executed: break;
0
120-
121 case
never executed: case 0:
0:
never executed: case 0:
0
122 i = UTF8_getc(p, q - p, &c);-
123 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
124 return
never executed: return -1;
-1;
never executed: return -1;
0
125 p += i;-
126 break;
never executed: break;
0
127 default
never executed: default:
:
never executed: default:
0
128 return
never executed: return -1;
-1;
never executed: return -1;
0
129 }-
130 if (p == q
p == qDescription
TRUEnever evaluated
FALSEnever evaluated
&& flags & 1
flags & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
131 orflags = 0x40;
never executed: orflags = 0x40;
0
132 if (type & 0x8
type & 0x8Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
133 unsigned char utfbuf[6];-
134 int utflen;-
135-
136 utflen = UTF8_putc(utfbuf, sizeof utfbuf, c);-
137 if (utflen < 0
utflen < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
138 return
never executed: return -1;
-1;
never executed: return -1;
0
139 for (i = 0; i < utflen
i < utflenDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
140-
141-
142-
143-
144-
145 len = do_esc_char(utfbuf[i],-
146 (unsigned char)(flags | orflags), quotes,-
147 io_ch, arg);-
148 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
149 return
never executed: return -1;
-1;
never executed: return -1;
0
150 outlen += len;-
151 }
never executed: end of block
0
152 }
never executed: end of block
else {
0
153 len = do_esc_char(c, (unsigned char)(flags | orflags),-
154 quotes, io_ch, arg);-
155 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
156 return
never executed: return -1;
-1;
never executed: return -1;
0
157 outlen += len;-
158 }
never executed: end of block
0
159 }-
160 return
never executed: return outlen;
outlen;
never executed: return outlen;
0
161}-
162-
163-
164-
165static int-
166do_hex_dump(char_io *io_ch, void *arg, unsigned char *buf, int buflen)-
167{-
168 static const char hexdig[] = "0123456789ABCDEF";-
169 unsigned char *p, *q;-
170 char hextmp[2];-
171 if (arg
argDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
172 p = buf;-
173 q = buf + buflen;-
174 while (p != q
p != qDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
175 hextmp[0] = hexdig[*p >> 4];-
176 hextmp[1] = hexdig[*p & 0xf];-
177 if (!io_ch(arg, hextmp, 2)
!io_ch(arg, hextmp, 2)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
178 return
never executed: return -1;
-1;
never executed: return -1;
0
179 p++;-
180 }
never executed: end of block
0
181 }
never executed: end of block
0
182 return
never executed: return buflen << 1;
buflen << 1;
never executed: return buflen << 1;
0
183}-
184-
185-
186-
187-
188-
189-
190-
191static int-
192do_dump(unsigned long lflags, char_io *io_ch, void *arg, const ASN1_STRING *str)-
193{-
194-
195-
196-
197 ASN1_TYPE t;-
198 unsigned char *der_buf, *p;-
199 int outlen, der_len;-
200-
201 if (!io_ch(arg, "#", 1)
!io_ch(arg, "#", 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
202 return
never executed: return -1;
-1;
never executed: return -1;
0
203-
204 if (!(lflags & 0x200)
!(lflags & 0x200)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
205 outlen = do_hex_dump(io_ch, arg, str->data, str->length);-
206 if (outlen < 0
outlen < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
207 return
never executed: return -1;
-1;
never executed: return -1;
0
208 return
never executed: return outlen + 1;
outlen + 1;
never executed: return outlen + 1;
0
209 }-
210 t.type = str->type;-
211 t.value.ptr = (char *)str;-
212 der_len = i2d_ASN1_TYPE(&t, -
213 ((void *)0)-
214 );-
215 der_buf = malloc(der_len);-
216 if (!der_buf
!der_bufDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
217 return
never executed: return -1;
-1;
never executed: return -1;
0
218 p = der_buf;-
219 i2d_ASN1_TYPE(&t, &p);-
220 outlen = do_hex_dump(io_ch, arg, der_buf, der_len);-
221 free(der_buf);-
222 if (outlen < 0
outlen < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
223 return
never executed: return -1;
-1;
never executed: return -1;
0
224 return
never executed: return outlen + 1;
outlen + 1;
never executed: return outlen + 1;
0
225}-
226-
227-
228-
229-
230-
231-
232static const signed char tag2nbyte[] = {-
233 -1, -1, -1, -1, -1,-
234 -1, -1, -1, -1, -1,-
235 -1, -1, 0, -1,-
236 -1, -1, -1, -1,-
237 -1, 1, 1,-
238 -1, 1, 1, 1,-
239 -1, 1, -1,-
240 4, -1, 2-
241};-
242static int-
243do_print_ex(char_io *io_ch, void *arg, unsigned long lflags,-
244 const ASN1_STRING *str)-
245{-
246 int outlen, len;-
247 int type;-
248 char quotes;-
249 unsigned char flags;-
250-
251 quotes = 0;-
252-
253 flags = (unsigned char)(lflags & (1 | 8 | 2 | 4));-
254 type = str->type;-
255 outlen = 0;-
256-
257 if (lflags & 0x40
lflags & 0x40Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
258 const char *tagname;-
259 tagname = ASN1_tag2str(type);-
260 outlen += strlen(tagname);-
261 if (!io_ch(arg, tagname, outlen)
!io_ch(arg, tagname, outlen)Description
TRUEnever evaluated
FALSEnever evaluated
|| !io_ch(arg, ":", 1)
!io_ch(arg, ":", 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
262 return
never executed: return -1;
-1;
never executed: return -1;
0
263 outlen++;-
264 }
never executed: end of block
0
265-
266-
267-
268-
269 if (lflags & 0x80
lflags & 0x80Description
TRUEnever evaluated
FALSEnever evaluated
)
0
270 type = -1;
never executed: type = -1;
0
271-
272 else if (lflags & 0x20
lflags & 0x20Description
TRUEnever evaluated
FALSEnever evaluated
)
0
273 type = 1;
never executed: type = 1;
0
274 else {-
275-
276 if ((
(type > 0)Description
TRUEnever evaluated
FALSEnever evaluated
type > 0)
(type > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(type < 31)Description
TRUEnever evaluated
FALSEnever evaluated
type < 31)
(type < 31)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
277 type = tag2nbyte[type];
never executed: type = tag2nbyte[type];
0
278 else-
279 type = -1;
never executed: type = -1;
0
280 if ((
(type == -1)Description
TRUEnever evaluated
FALSEnever evaluated
type == -1)
(type == -1)Description
TRUEnever evaluated
FALSEnever evaluated
&& !(lflags & 0x100)
!(lflags & 0x100)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
281 type = 1;
never executed: type = 1;
0
282 }
never executed: end of block
0
283-
284 if (type == -1
type == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
285 len = do_dump(lflags, io_ch, arg, str);-
286 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
287 return
never executed: return -1;
-1;
never executed: return -1;
0
288 outlen += len;-
289 return
never executed: return outlen;
outlen;
never executed: return outlen;
0
290 }-
291-
292 if (lflags & 0x10
lflags & 0x10Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
293-
294-
295-
296-
297-
298 if (!type
!typeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
299 type = 1;
never executed: type = 1;
0
300 else-
301 type |= 0x8;
never executed: type |= 0x8;
0
302 }-
303-
304 len = do_buf(str->data, str->length, type, flags, &quotes, io_ch, -
305 ((void *)0)-
306 );-
307 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
308 return
never executed: return -1;
-1;
never executed: return -1;
0
309 outlen += len;-
310 if (quotes
quotesDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
311 outlen += 2;
never executed: outlen += 2;
0
312 if (!arg
!argDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
313 return
never executed: return outlen;
outlen;
never executed: return outlen;
0
314 if (quotes
quotesDescription
TRUEnever evaluated
FALSEnever evaluated
&& !io_ch(arg, "\"", 1)
!io_ch(arg, "\"", 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
315 return
never executed: return -1;
-1;
never executed: return -1;
0
316 if (do_buf(str->data, str->length, type, flags,
do_buf(str->da...o_ch, arg) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
317 ((void *)0)
do_buf(str->da...o_ch, arg) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
318 , io_ch, arg) < 0
do_buf(str->da...o_ch, arg) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
319 return
never executed: return -1;
-1;
never executed: return -1;
0
320 if (quotes
quotesDescription
TRUEnever evaluated
FALSEnever evaluated
&& !io_ch(arg, "\"", 1)
!io_ch(arg, "\"", 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
321 return
never executed: return -1;
-1;
never executed: return -1;
0
322 return
never executed: return outlen;
outlen;
never executed: return outlen;
0
323}-
324-
325-
326-
327static int-
328do_indent(char_io *io_ch, void *arg, int indent)-
329{-
330 int i;-
331 for (i = 0; i < indent
i < indentDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
332 if (!io_ch(arg, " ", 1)
!io_ch(arg, " ", 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
333 return
never executed: return 0;
0;
never executed: return 0;
0
334 return
never executed: return 1;
1;
never executed: return 1;
0
335}-
336-
337-
338-
339-
340static int-
341do_name_ex(char_io *io_ch, void *arg, const X509_NAME *n, int indent,-
342 unsigned long flags)-
343{-
344 int i, prev = -1, orflags, cnt;-
345 int fn_opt, fn_nid;-
346 ASN1_OBJECT *fn;-
347 ASN1_STRING *val;-
348 X509_NAME_ENTRY *ent;-
349 char objtmp[80];-
350 const char *objbuf;-
351 int outlen, len;-
352 char *sep_dn, *sep_mv, *sep_eq;-
353 int sep_dn_len, sep_mv_len, sep_eq_len;-
354-
355 if (indent < 0
indent < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
356 indent = 0;
never executed: indent = 0;
0
357 outlen = indent;-
358 if (!do_indent(io_ch, arg, indent)
!do_indent(io_ch, arg, indent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
359 return
never executed: return -1;
-1;
never executed: return -1;
0
360-
361 switch (flags & (0xf << 16)) {-
362 case
never executed: case (4 << 16):
(4 << 16):
never executed: case (4 << 16):
0
363 sep_dn = "\n";-
364 sep_dn_len = 1;-
365 sep_mv = " + ";-
366 sep_mv_len = 3;-
367 break;
never executed: break;
0
368-
369 case
never executed: case (1 << 16):
(1 << 16):
never executed: case (1 << 16):
0
370 sep_dn = ",";-
371 sep_dn_len = 1;-
372 sep_mv = "+";-
373 sep_mv_len = 1;-
374 indent = 0;-
375 break;
never executed: break;
0
376-
377 case
never executed: case (2 << 16):
(2 << 16):
never executed: case (2 << 16):
0
378 sep_dn = ", ";-
379 sep_dn_len = 2;-
380 sep_mv = " + ";-
381 sep_mv_len = 3;-
382 indent = 0;-
383 break;
never executed: break;
0
384-
385 case
never executed: case (3 << 16):
(3 << 16):
never executed: case (3 << 16):
0
386 sep_dn = "; ";-
387 sep_dn_len = 2;-
388 sep_mv = " + ";-
389 sep_mv_len = 3;-
390 indent = 0;-
391 break;
never executed: break;
0
392-
393 default
never executed: default:
:
never executed: default:
0
394 return
never executed: return -1;
-1;
never executed: return -1;
0
395 }-
396-
397 if (flags & (1 << 23)
flags & (1 << 23)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
398 sep_eq = " = ";-
399 sep_eq_len = 3;-
400 }
never executed: end of block
else {
0
401 sep_eq = "=";-
402 sep_eq_len = 1;-
403 }
never executed: end of block
0
404-
405 fn_opt = flags & (0x3 << 21);-
406-
407 cnt = X509_NAME_entry_count(n);-
408 for (i = 0; i < cnt
i < cntDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
409 if (flags & (1 << 20)
flags & (1 << 20)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
410 ent = X509_NAME_get_entry(n, cnt - i - 1);
never executed: ent = X509_NAME_get_entry(n, cnt - i - 1);
0
411 else-
412 ent = X509_NAME_get_entry(n, i);
never executed: ent = X509_NAME_get_entry(n, i);
0
413 if (prev != -1
prev != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
414 if (prev == ent->set
prev == ent->setDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
415 if (!io_ch(arg, sep_mv, sep_mv_len)
!io_ch(arg, se...v, sep_mv_len)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
416 return
never executed: return -1;
-1;
never executed: return -1;
0
417 outlen += sep_mv_len;-
418 }
never executed: end of block
else {
0
419 if (!io_ch(arg, sep_dn, sep_dn_len)
!io_ch(arg, se...n, sep_dn_len)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
420 return
never executed: return -1;
-1;
never executed: return -1;
0
421 outlen += sep_dn_len;-
422 if (!do_indent(io_ch, arg, indent)
!do_indent(io_ch, arg, indent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
423 return
never executed: return -1;
-1;
never executed: return -1;
0
424 outlen += indent;-
425 }
never executed: end of block
0
426 }-
427 prev = ent->set;-
428 fn = X509_NAME_ENTRY_get_object(ent);-
429 val = X509_NAME_ENTRY_get_data(ent);-
430 fn_nid = OBJ_obj2nid(fn);-
431 if (fn_opt != (3 << 21)
fn_opt != (3 << 21)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
432 int objlen, fld_len;-
433 if ((
(fn_opt == (2 << 21))Description
TRUEnever evaluated
FALSEnever evaluated
fn_opt == (2 << 21))
(fn_opt == (2 << 21))Description
TRUEnever evaluated
FALSEnever evaluated
||
0
434 (
(fn_nid == 0)Description
TRUEnever evaluated
FALSEnever evaluated
fn_nid == 0)
(fn_nid == 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
435 OBJ_obj2txt(objtmp, sizeof objtmp, fn, 1);-
436 fld_len = 0;-
437 objbuf = objtmp;-
438 }
never executed: end of block
else {
0
439 if (fn_opt == 0
fn_opt == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
440 fld_len = 10;-
441 objbuf = OBJ_nid2sn(fn_nid);-
442 }
never executed: end of block
else if (fn_opt == (1 << 21)
fn_opt == (1 << 21)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
443 fld_len = 25;-
444 objbuf = OBJ_nid2ln(fn_nid);-
445 }
never executed: end of block
else {
0
446 fld_len = 0;-
447 objbuf = "";-
448 }
never executed: end of block
0
449 }-
450 objlen = strlen(objbuf);-
451 if (!io_ch(arg, objbuf, objlen)
!io_ch(arg, objbuf, objlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
452 return
never executed: return -1;
-1;
never executed: return -1;
0
453 if ((
(objlen < fld_len)Description
TRUEnever evaluated
FALSEnever evaluated
objlen < fld_len)
(objlen < fld_len)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(flags & (1 << 25))Description
TRUEnever evaluated
FALSEnever evaluated
flags & (1 << 25))
(flags & (1 << 25))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
454 if (!do_indent(io_ch, arg, fld_len - objlen)
!do_indent(io_..._len - objlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
455 return
never executed: return -1;
-1;
never executed: return -1;
0
456 outlen += fld_len - objlen;-
457 }
never executed: end of block
0
458 if (!io_ch(arg, sep_eq, sep_eq_len)
!io_ch(arg, se...q, sep_eq_len)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
459 return
never executed: return -1;
-1;
never executed: return -1;
0
460 outlen += objlen + sep_eq_len;-
461 }
never executed: end of block
0
462-
463-
464-
465-
466 if ((
(fn_nid == 0)Description
TRUEnever evaluated
FALSEnever evaluated
fn_nid == 0)
(fn_nid == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
467 (
(flags & (1 << 24))Description
TRUEnever evaluated
FALSEnever evaluated
flags & (1 << 24))
(flags & (1 << 24))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
468 orflags = 0x80;
never executed: orflags = 0x80;
0
469 else-
470 orflags = 0;
never executed: orflags = 0;
0
471-
472 len = do_print_ex(io_ch, arg, flags | orflags, val);-
473 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
474 return
never executed: return -1;
-1;
never executed: return -1;
0
475 outlen += len;-
476 }
never executed: end of block
0
477 return
never executed: return outlen;
outlen;
never executed: return outlen;
0
478}-
479-
480-
481-
482int-
483X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,-
484 unsigned long flags)-
485{-
486 if (flags == 0
flags == 0Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
)
0-6
487 return
executed 6 times by 1 test: return X509_NAME_print(out, nm, indent);
Executed by:
  • libcrypto.so.44.0.1
X509_NAME_print(out, nm, indent);
executed 6 times by 1 test: return X509_NAME_print(out, nm, indent);
Executed by:
  • libcrypto.so.44.0.1
6
488 return
never executed: return do_name_ex(send_bio_chars, out, nm, indent, flags);
do_name_ex(send_bio_chars, out, nm, indent, flags);
never executed: return do_name_ex(send_bio_chars, out, nm, indent, flags);
0
489}-
490-
491int-
492X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,-
493 unsigned long flags)-
494{-
495 if (flags == 0
flags == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
496 BIO *btmp;-
497 int ret;-
498 btmp = BIO_new_fp(fp, 0x00);-
499 if (!btmp
!btmpDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
500 return
never executed: return -1;
-1;
never executed: return -1;
0
501 ret = X509_NAME_print(btmp, nm, indent);-
502 BIO_free(btmp);-
503 return
never executed: return ret;
ret;
never executed: return ret;
0
504 }-
505 return
never executed: return do_name_ex(send_fp_chars, fp, nm, indent, flags);
do_name_ex(send_fp_chars, fp, nm, indent, flags);
never executed: return do_name_ex(send_fp_chars, fp, nm, indent, flags);
0
506}-
507-
508int-
509ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)-
510{-
511 return
never executed: return do_print_ex(send_bio_chars, out, flags, str);
do_print_ex(send_bio_chars, out, flags, str);
never executed: return do_print_ex(send_bio_chars, out, flags, str);
0
512}-
513-
514int-
515ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags)-
516{-
517 return
never executed: return do_print_ex(send_fp_chars, fp, flags, str);
do_print_ex(send_fp_chars, fp, flags, str);
never executed: return do_print_ex(send_fp_chars, fp, flags, str);
0
518}-
519-
520-
521-
522-
523-
524int-
525ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in)-
526{-
527 ASN1_STRING stmp, *str = &stmp;-
528 int mbflag, type, ret;-
529-
530 if (!in
!inDescription
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
)
0-1838
531 return
never executed: return -1;
-1;
never executed: return -1;
0
532 type = in->type;-
533 if ((
(type < 0)Description
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
type < 0)
(type < 0)Description
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
|| (
(type > 30)Description
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
type > 30)
(type > 30)Description
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
)
0-1838
534 return
never executed: return -1;
-1;
never executed: return -1;
0
535 mbflag = tag2nbyte[type];-
536 if (mbflag == -1
mbflag == -1Description
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
)
0-1838
537 return
never executed: return -1;
-1;
never executed: return -1;
0
538 mbflag |= 0x1000;-
539 stmp.data = -
540 ((void *)0)-
541 ;-
542 stmp.length = 0;-
543 ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag,-
544 0x2000);-
545 if (ret < 0
ret < 0Description
TRUEnever evaluated
FALSEevaluated 1838 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
)
0-1838
546 return
never executed: return ret;
ret;
never executed: return ret;
0
547 *out = stmp.data;-
548 return
executed 1838 times by 8 tests: return stmp.length;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
stmp.length;
executed 1838 times by 8 tests: return stmp.length;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
1838
549}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2