OpenCoverage

bss_fd.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/bio/bss_fd.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2static int fd_write(BIO *h, const char *buf, int num);-
3static int fd_read(BIO *h, char *buf, int size);-
4static int fd_puts(BIO *h, const char *str);-
5static int fd_gets(BIO *h, char *buf, int size);-
6static long fd_ctrl(BIO *h, int cmd, long arg1, void *arg2);-
7static int fd_new(BIO *h);-
8static int fd_free(BIO *data);-
9int BIO_fd_should_retry(int s);-
10-
11static const BIO_METHOD methods_fdp = {-
12 ( 4|0x0400|0x0100),-
13 "file descriptor",-
14-
15 bwrite_conv,-
16 fd_write,-
17-
18 bread_conv,-
19 fd_read,-
20 fd_puts,-
21 fd_gets,-
22 fd_ctrl,-
23 fd_new,-
24 fd_free,-
25 -
26 ((void *)0)-
27 ,-
28};-
29-
30const BIO_METHOD *BIO_s_fd(void)-
31{-
32 return
never executed: return &methods_fdp;
&methods_fdp;
never executed: return &methods_fdp;
0
33}-
34-
35BIO *BIO_new_fd(int fd, int close_flag)-
36{-
37 BIO *ret;-
38 ret = BIO_new(BIO_s_fd());-
39 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
40 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
41 )-
42 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
43 ((void *)0)
never executed: return ((void *)0) ;
0
44 ;
never executed: return ((void *)0) ;
0
45 BIO_int_ctrl(ret,104,close_flag,fd);-
46 return
never executed: return ret;
ret;
never executed: return ret;
0
47}-
48-
49static int fd_new(BIO *bi)-
50{-
51 bi->init = 0;-
52 bi->num = -1;-
53 bi->ptr = -
54 ((void *)0)-
55 ;-
56 bi->flags = 0;-
57 return
never executed: return 1;
1;
never executed: return 1;
0
58}-
59-
60static int fd_free(BIO *a)-
61{-
62 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
63 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
64 )-
65 return
never executed: return 0;
0;
never executed: return 0;
0
66 if (a->shutdown
a->shutdownDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
67 if (a->init
a->initDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
68 close(a->num);-
69 }
never executed: end of block
0
70 a->init = 0;-
71 a->flags = 0;-
72 }
never executed: end of block
0
73 return
never executed: return 1;
1;
never executed: return 1;
0
74}-
75-
76static int fd_read(BIO *b, char *out, int outl)-
77{-
78 int ret = 0;-
79-
80 if (out !=
out != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
81 ((void *)0)
out != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
82 ) {-
83 -
84 (*__errno_location ())-
85 =0;-
86 ret = read(b->num, out, outl);-
87 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
88 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
89 if (BIO_fd_should_retry(ret)
BIO_fd_should_retry(ret)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
90 BIO_set_flags(b, (0x01|0x08));
never executed: BIO_set_flags(b, (0x01|0x08));
0
91 }
never executed: end of block
0
92 }
never executed: end of block
0
93 return
never executed: return ret;
ret;
never executed: return ret;
0
94}-
95-
96static int fd_write(BIO *b, const char *in, int inl)-
97{-
98 int ret;-
99 -
100 (*__errno_location ())-
101 =0;-
102 ret = write(b->num, in, inl);-
103 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
104 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
105 if (BIO_fd_should_retry(ret)
BIO_fd_should_retry(ret)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
106 BIO_set_flags(b, (0x02|0x08));
never executed: BIO_set_flags(b, (0x02|0x08));
0
107 }
never executed: end of block
0
108 return
never executed: return ret;
ret;
never executed: return ret;
0
109}-
110-
111static long fd_ctrl(BIO *b, int cmd, long num, void *ptr)-
112{-
113 long ret = 1;-
114 int *ip;-
115-
116 switch (cmd) {-
117 case
never executed: case 1:
1:
never executed: case 1:
0
118 num = 0;-
119-
120 case
never executed: case 128:
128:
never executed: case 128:
code before this statement never executed: case 128:
0
121 ret = (long)lseek(b->num, num, 0);-
122 break;
never executed: break;
0
123 case
never executed: case 133:
133:
never executed: case 133:
0
124 case
never executed: case 3:
3:
never executed: case 3:
0
125 ret = (long)lseek(b->num, 0, 1);-
126 break;
never executed: break;
0
127 case
never executed: case 104:
104:
never executed: case 104:
0
128 fd_free(b);-
129 b->num = *((int *)ptr);-
130 b->shutdown = (int)num;-
131 b->init = 1;-
132 break;
never executed: break;
0
133 case
never executed: case 105:
105:
never executed: case 105:
0
134 if (b->init
b->initDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
135 ip = (int *)ptr;-
136 if (ip !=
ip != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
137 ((void *)0)
ip != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
138 )-
139 *
never executed: *ip = b->num;
ip = b->num;
never executed: *ip = b->num;
0
140 ret = b->num;-
141 }
never executed: end of block
else
0
142 ret = -1;
never executed: ret = -1;
0
143 break;
never executed: break;
0
144 case
never executed: case 8:
8:
never executed: case 8:
0
145 ret = b->shutdown;-
146 break;
never executed: break;
0
147 case
never executed: case 9:
9:
never executed: case 9:
0
148 b->shutdown = (int)num;-
149 break;
never executed: break;
0
150 case
never executed: case 10:
10:
never executed: case 10:
0
151 case
never executed: case 13:
13:
never executed: case 13:
0
152 ret = 0;-
153 break;
never executed: break;
0
154 case
never executed: case 12:
12:
never executed: case 12:
0
155 case
never executed: case 11:
11:
never executed: case 11:
0
156 ret = 1;-
157 break;
never executed: break;
0
158 default
never executed: default:
:
never executed: default:
0
159 ret = 0;-
160 break;
never executed: break;
0
161 }-
162 return
never executed: return ret;
ret;
never executed: return ret;
0
163}-
164-
165static int fd_puts(BIO *bp, const char *str)-
166{-
167 int n, ret;-
168-
169 n = strlen(str);-
170 ret = fd_write(bp, str, n);-
171 return
never executed: return ret;
ret;
never executed: return ret;
0
172}-
173-
174static int fd_gets(BIO *bp, char *buf, int size)-
175{-
176 int ret = 0;-
177 char *ptr = buf;-
178 char *end = buf + size - 1;-
179-
180 while (ptr < end
ptr < endDescription
TRUEnever evaluated
FALSEnever evaluated
&& fd_read(bp, ptr, 1) > 0
fd_read(bp, ptr, 1) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
181 if (*
*ptr++ == '\n'Description
TRUEnever evaluated
FALSEnever evaluated
ptr++ == '\n'
*ptr++ == '\n'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
182 break;
never executed: break;
0
183 }
never executed: end of block
0
184-
185 ptr[0] = '\0';-
186-
187 if (buf[0] != '\0'
buf[0] != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
188 ret = strlen(buf);
never executed: ret = strlen(buf);
0
189 return
never executed: return ret;
ret;
never executed: return ret;
0
190}-
191-
192int BIO_fd_should_retry(int i)-
193{-
194 int err;-
195-
196 if ((
(i == 0)Description
TRUEnever evaluated
FALSEnever evaluated
i == 0)
(i == 0)Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(i == -1)Description
TRUEnever evaluated
FALSEnever evaluated
i == -1)
(i == -1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
197 err = -
198 (*__errno_location ())-
199 ;-
200-
201 return
never executed: return BIO_fd_non_fatal_error(err);
BIO_fd_non_fatal_error(err);
never executed: return BIO_fd_non_fatal_error(err);
0
202 }-
203 return
never executed: return 0;
0;
never executed: return 0;
0
204}-
205-
206int BIO_fd_non_fatal_error(int err)-
207{-
208 switch (err) {-
209-
210-
211-
212-
213-
214-
215-
216 case
never executed: case 11 :
never executed: case 11 :
0
217 11
never executed: case 11 :
0
218 :
never executed: case 11 :
0
219-
220-
221-
222-
223 case
never executed: case 107 :
never executed: case 107 :
0
224 107
never executed: case 107 :
0
225 :
never executed: case 107 :
0
226-
227-
228-
229 case
never executed: case 4 :
never executed: case 4 :
0
230 4
never executed: case 4 :
0
231 :
never executed: case 4 :
0
232 case
never executed: case 71 :
never executed: case 71 :
0
233 71
never executed: case 71 :
0
234 :
never executed: case 71 :
0
235-
236-
237-
238 case
never executed: case 115 :
never executed: case 115 :
0
239 115
never executed: case 115 :
0
240 :
never executed: case 115 :
0
241-
242-
243-
244 case
never executed: case 114 :
never executed: case 114 :
0
245 114
never executed: case 114 :
0
246 :
never executed: case 114 :
0
247-
248 return
never executed: return 1;
1;
never executed: return 1;
0
249 default
never executed: default:
:
never executed: default:
0
250 break;
never executed: break;
0
251 }-
252 return
never executed: return 0;
0;
never executed: return 0;
0
253}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2