OpenCoverage

f_string.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/f_string.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3int-
4i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type)-
5{-
6 int i, n = 0;-
7 static const char h[] = "0123456789ABCDEF";-
8 char buf[2];-
9-
10 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
11 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
12 )-
13 return
never executed: return (0);
(0);
never executed: return (0);
0
14-
15 if (a->length == 0
a->length == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
16 if (BIO_write(bp, "0", 1) != 1
BIO_write(bp, "0", 1) != 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
17 goto
never executed: goto err;
err;
never executed: goto err;
0
18 n = 1;-
19 }
never executed: end of block
else {
0
20 for (i = 0; i < a->length
i < a->lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
21 if ((
(i != 0)Description
TRUEnever evaluated
FALSEnever evaluated
i != 0)
(i != 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(i % 35 == 0)Description
TRUEnever evaluated
FALSEnever evaluated
i % 35 == 0)
(i % 35 == 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
22 if (BIO_write(bp, "\\\n", 2) != 2
BIO_write(bp, "\\\n", 2) != 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
23 goto
never executed: goto err;
err;
never executed: goto err;
0
24 n += 2;-
25 }
never executed: end of block
0
26 buf[0] = h[((unsigned char)a->data[i] >> 4) & 0x0f];-
27 buf[1] = h[((unsigned char)a->data[i]) & 0x0f];-
28 if (BIO_write(bp, buf, 2) != 2
BIO_write(bp, buf, 2) != 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
29 goto
never executed: goto err;
err;
never executed: goto err;
0
30 n += 2;-
31 }
never executed: end of block
0
32 }
never executed: end of block
0
33 return
never executed: return (n);
(n);
never executed: return (n);
0
34-
35err:-
36 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
37}-
38-
39int-
40a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)-
41{-
42 int ret = 0;-
43 int i, j, k, m, n, again, bufsize;-
44 unsigned char *s = -
45 ((void *)0)-
46 , *sp;-
47 unsigned char *bufp;-
48 int first = 1;-
49 size_t num = 0, slen = 0;-
50-
51 bufsize = BIO_gets(bp, buf, size);-
52 for (;;) {-
53 if (bufsize < 1
bufsize < 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
54 if (first
firstDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
55 break;
never executed: break;
0
56 else-
57 goto
never executed: goto err_sl;
err_sl;
never executed: goto err_sl;
0
58 }-
59 first = 0;-
60-
61 i = bufsize;-
62 if (buf[i-1] == '\n'
buf[i-1] == '\n'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
63 buf[--i] = '\0';
never executed: buf[--i] = '\0';
0
64 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
65 goto
never executed: goto err_sl;
err_sl;
never executed: goto err_sl;
0
66 if (buf[i-1] == '\r'
buf[i-1] == '\r'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
67 buf[--i] = '\0';
never executed: buf[--i] = '\0';
0
68 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
69 goto
never executed: goto err_sl;
err_sl;
never executed: goto err_sl;
0
70 again = (buf[i - 1] == '\\');-
71-
72 for (j = i - 1; j > 0
j > 0Description
TRUEnever evaluated
FALSEnever evaluated
; j--) {
0
73 if (!(((
(buf[j] >= '0')Description
TRUEnever evaluated
FALSEnever evaluated
buf[j] >= '0')
(buf[j] >= '0')Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(buf[j] <= '9')Description
TRUEnever evaluated
FALSEnever evaluated
buf[j] <= '9')
(buf[j] <= '9')Description
TRUEnever evaluated
FALSEnever evaluated
) ||
0
74 ((
(buf[j] >= 'a')Description
TRUEnever evaluated
FALSEnever evaluated
buf[j] >= 'a')
(buf[j] >= 'a')Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(buf[j] <= 'f')Description
TRUEnever evaluated
FALSEnever evaluated
buf[j] <= 'f')
(buf[j] <= 'f')Description
TRUEnever evaluated
FALSEnever evaluated
) ||
0
75 ((
(buf[j] >= 'A')Description
TRUEnever evaluated
FALSEnever evaluated
buf[j] >= 'A')
(buf[j] >= 'A')Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(buf[j] <= 'F')Description
TRUEnever evaluated
FALSEnever evaluated
buf[j] <= 'F')
(buf[j] <= 'F')Description
TRUEnever evaluated
FALSEnever evaluated
))) {
0
76 i = j;-
77 break;
never executed: break;
0
78 }-
79 }
never executed: end of block
0
80 buf[i] = '\0';-
81-
82-
83 if (i < 2
i < 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
84 goto
never executed: goto err_sl;
err_sl;
never executed: goto err_sl;
0
85-
86 bufp = (unsigned char *)buf;-
87-
88 k = 0;-
89 i -= again;-
90 if (i % 2 != 0
i % 2 != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
91 ERR_put_error(13,(0xfff),(145),__FILE__,149);-
92 goto
never executed: goto err;
err;
never executed: goto err;
0
93 }-
94 i /= 2;-
95 if (num + i > slen
num + i > slenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
96 sp = realloc(s, num + i);-
97 if (sp ==
sp == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
98 ((void *)0)
sp == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
99 ) {-
100 ERR_put_error(13,(0xfff),((1|64)),__FILE__,156);-
101 goto
never executed: goto err;
err;
never executed: goto err;
0
102 }-
103 s = sp;-
104 slen = num + i;-
105 }
never executed: end of block
0
106 for (j = 0; j < i
j < iDescription
TRUEnever evaluated
FALSEnever evaluated
; j++, k += 2) {
0
107 for (n = 0; n < 2
n < 2Description
TRUEnever evaluated
FALSEnever evaluated
; n++) {
0
108 m = bufp[k + n];-
109 if ((
(m >= '0')Description
TRUEnever evaluated
FALSEnever evaluated
m >= '0')
(m >= '0')Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(m <= '9')Description
TRUEnever evaluated
FALSEnever evaluated
m <= '9')
(m <= '9')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
110 m -= '0';
never executed: m -= '0';
0
111 else if ((
(m >= 'a')Description
TRUEnever evaluated
FALSEnever evaluated
m >= 'a')
(m >= 'a')Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(m <= 'f')Description
TRUEnever evaluated
FALSEnever evaluated
m <= 'f')
(m <= 'f')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
112 m = m - 'a' + 10;
never executed: m = m - 'a' + 10;
0
113 else if ((
(m >= 'A')Description
TRUEnever evaluated
FALSEnever evaluated
m >= 'A')
(m >= 'A')Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(m <= 'F')Description
TRUEnever evaluated
FALSEnever evaluated
m <= 'F')
(m <= 'F')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
114 m = m - 'A' + 10;
never executed: m = m - 'A' + 10;
0
115 else {-
116 ERR_put_error(13,(0xfff),(141),__FILE__,172);-
117 goto
never executed: goto err;
err;
never executed: goto err;
0
118 }-
119 s[num + j] <<= 4;-
120 s[num + j] |= m;-
121 }
never executed: end of block
0
122 }
never executed: end of block
0
123 num += i;-
124 if (again
againDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
125 bufsize = BIO_gets(bp, buf, size);
never executed: bufsize = BIO_gets(bp, buf, size);
0
126 else-
127 break;
never executed: break;
0
128 }-
129 bs->length = num;-
130 bs->data = s;-
131 return
never executed: return (1);
(1);
never executed: return (1);
0
132-
133err_sl:-
134 ERR_put_error(13,(0xfff),(150),__FILE__,190);-
135err:
code before this statement never executed: err:
0
136 free(s);-
137 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
138}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2