OpenCoverage

bss_conn.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bio/bss_conn.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7typedef struct bio_connect_st {-
8 int state;-
9-
10 char *param_hostname;-
11 char *param_port;-
12 int nbio;-
13-
14 unsigned char ip[4];-
15 unsigned short port;-
16-
17 struct sockaddr_in them;-
18-
19-
20-
21-
22-
23-
24-
25 int (*info_callback)(const BIO *bio, int state, int ret);-
26} BIO_CONNECT;-
27-
28static int conn_write(BIO *h, const char *buf, int num);-
29static int conn_read(BIO *h, char *buf, int size);-
30static int conn_puts(BIO *h, const char *str);-
31static long conn_ctrl(BIO *h, int cmd, long arg1, void *arg2);-
32static int conn_new(BIO *h);-
33static int conn_free(BIO *data);-
34static long conn_callback_ctrl(BIO *h, int cmd, bio_info_cb *);-
35-
36static int conn_state(BIO *b, BIO_CONNECT *c);-
37static void conn_close_socket(BIO *data);-
38BIO_CONNECT *BIO_CONNECT_new(void);-
39void BIO_CONNECT_free(BIO_CONNECT *a);-
40-
41static const BIO_METHOD methods_connectp = {-
42 .type = (12|0x0400|0x0100),-
43 .name = "socket connect",-
44 .bwrite = conn_write,-
45 .bread = conn_read,-
46 .bputs = conn_puts,-
47 .ctrl = conn_ctrl,-
48 .create = conn_new,-
49 .destroy = conn_free,-
50 .callback_ctrl = conn_callback_ctrl-
51};-
52-
53static int-
54conn_state(BIO *b, BIO_CONNECT *c)-
55{-
56 int ret = -1, i;-
57 unsigned long l;-
58 char *p, *q;-
59 int (*cb)(const BIO *, int, int) = -
60 ((void *)0)-
61 ;-
62-
63 if (c->info_callback !=
c->info_callba...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
64 ((void *)0)
c->info_callba...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
65 )-
66 cb = c->info_callback;
never executed: cb = c->info_callback;
0
67-
68 for (;;) {-
69 switch (c->state) {-
70 case
never executed: case 1:
1:
never executed: case 1:
0
71 p = c->param_hostname;-
72 if (p ==
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
73 ((void *)0)
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
74 ) {-
75 ERR_put_error(32,(0xfff),(112),__FILE__,137);-
76 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
77 }-
78 for (; *
*p != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
p != '\0'
*p != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
; p++) {
0
79 if ((*
(*p == ':')Description
TRUEnever evaluated
FALSEnever evaluated
p == ':')
(*p == ':')Description
TRUEnever evaluated
FALSEnever evaluated
|| (*
(*p == '/')Description
TRUEnever evaluated
FALSEnever evaluated
p == '/')
(*p == '/')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
80 break;
never executed: break;
0
81 }
never executed: end of block
0
82-
83 i= *p;-
84 if ((
(i == ':')Description
TRUEnever evaluated
FALSEnever evaluated
i == ':')
(i == ':')Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(i == '/')Description
TRUEnever evaluated
FALSEnever evaluated
i == '/')
(i == '/')Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
85 *(p++) = '\0';-
86 if (i == ':'
i == ':'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
87 for (q = p; *
*qDescription
TRUEnever evaluated
FALSEnever evaluated
q
*qDescription
TRUEnever evaluated
FALSEnever evaluated
; q++)
0
88 if (*
*q == '/'Description
TRUEnever evaluated
FALSEnever evaluated
q == '/'
*q == '/'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
89 *q = '\0';-
90 break;
never executed: break;
0
91 }-
92 free(c->param_port);-
93 c->param_port = -
94 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( p )Description
TRUEnever evaluated
FALSEnever evaluated
0
95 p
__builtin_constant_p ( p )Description
TRUEnever evaluated
FALSEnever evaluated
0
96 )
__builtin_constant_p ( p )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons... *)( p ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons... *)( p ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
97 p
((size_t)(cons... *)( p ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
98 ) + 1) - (size_t)(const void *)(
((size_t)(cons... *)( p ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
99 p
((size_t)(cons... *)( p ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
100 ) == 1)
((size_t)(cons... *)( p ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
101 p
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
102 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
0
103 p-
104 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, p , __len);
0
105 p
never executed: __retval = (char *) memcpy (__retval, p , __len);
0
106 , __len);
never executed: __retval = (char *) memcpy (__retval, p , __len);
__retval; })) : __strdup (
0
107 p-
108 )))-
109 ;-
110 }
never executed: end of block
0
111 }
never executed: end of block
0
112-
113 if (c->param_port ==
c->param_port == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
114 ((void *)0)
c->param_port == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
115 ) {-
116 ERR_put_error(32,(0xfff),(114),__FILE__,160);-
117 ERR_asprintf_error_data("host=%s",-
118 c->param_hostname);-
119 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
120 }-
121 c->state = 2;-
122 break;
never executed: break;
0
123-
124 case
never executed: case 2:
2:
never executed: case 2:
0
125 if (BIO_get_host_ip(c->param_hostname, &(c->ip[0])) <= 0
BIO_get_host_i...->ip[0])) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
126 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
127 c->state = 3;-
128 break;
never executed: break;
0
129-
130 case
never executed: case 3:
3:
never executed: case 3:
0
131 if (c->param_port ==
c->param_port == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
132 ((void *)0)
c->param_port == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
133 ) {-
134-
135 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
136 } else if (BIO_get_port(c->param_port, &c->port) <= 0
BIO_get_port(c...&c->port) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
137 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
138 c->state = 4;-
139 break;
never executed: break;
0
140-
141 case
never executed: case 4:
4:
never executed: case 4:
0
142-
143 memset((char *)&c->them, 0, sizeof(c->them));-
144 c->them.sin_family = -
145 2-
146 ;-
147 c->them.sin_port = -
148 (__extension__ ({ unsigned short int __v, __x = (unsigned short int) (-
149 (unsigned short)c->port-
150 ); if (__builtin_constant_p (__x)
__builtin_constant_p (__x)Description
TRUEnever evaluated
FALSEnever evaluated
) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8)));
never executed: __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8)));
else __asm__
never executed: __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc");
("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc");
never executed: __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc");
__v; }))
0
151 ;-
152 l = (unsigned long)-
153 ((unsigned long)c->ip[0] << 24L)|-
154 ((unsigned long)c->ip[1] << 16L)|-
155 ((unsigned long)c->ip[2] << 8L)|-
156 ((unsigned long)c->ip[3]);-
157 c->them.sin_addr.s_addr = -
158 __bswap_32 (-
159 l-
160 )-
161 ;-
162 c->state = 4;-
163-
164 ret = socket(-
165 2-
166 , -
167 SOCK_STREAM-
168 , -
169 IPPROTO_TCP-
170 );-
171 if (ret == -1
ret == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
172 ERR_put_error(2,(0xfff),(-
173 (*__errno_location ())-
174 ),__FILE__,198);-
175 ERR_asprintf_error_data("host=%s:%s",-
176 c->param_hostname, c->param_port);-
177 ERR_put_error(32,(0xfff),(118),__FILE__,201);-
178 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
179 }-
180 b->num = ret;-
181 c->state = 8;-
182 break;
never executed: break;
0
183-
184 case
never executed: case 8:
8:
never executed: case 8:
0
185 if (c->nbio
c->nbioDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
186 if (!BIO_socket_nbio(b->num, 1)
!BIO_socket_nbio(b->num, 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
187 ERR_put_error(32,(0xfff),(104),__FILE__,211);-
188 ERR_asprintf_error_data("host=%s:%s",-
189 c->param_hostname, c->param_port);-
190 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
191 }-
192 }
never executed: end of block
0
193 c->state = 5;-
194-
195-
196 i = 1;-
197 i = setsockopt(b->num, -
198 1-
199 , -
200 9-
201 , &i, sizeof(i));-
202 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
203 ERR_put_error(2,(0xfff),(-
204 (*__errno_location ())-
205 ),__FILE__,223);-
206 ERR_asprintf_error_data("host=%s:%s",-
207 c->param_hostname, c->param_port);-
208 ERR_put_error(32,(0xfff),(109),__FILE__,226);-
209 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
210 }-
211-
212 break;
never executed: break;
0
213-
214 case
never executed: case 5:
5:
never executed: case 5:
0
215 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
216 ret = connect(b->num,-
217 (struct sockaddr *)&c->them,-
218 sizeof(c->them));-
219 b->retry_reason = 0;-
220 if (ret < 0
ret < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
221 if (BIO_sock_should_retry(ret)
BIO_sock_should_retry(ret)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
222 BIO_set_flags(b, (0x04|0x08));-
223 c->state = 7;-
224 b->retry_reason = 0x02;-
225 }
never executed: end of block
else {
0
226 ERR_put_error(2,(0xfff),(-
227 (*__errno_location ())-
228 ),__FILE__,244);-
229 ERR_asprintf_error_data("host=%s:%s",-
230 c->param_hostname, c->param_port);-
231 ERR_put_error(32,(0xfff),(103),__FILE__,247);-
232 }
never executed: end of block
0
233 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
234 } else-
235 c->state = 6;
never executed: c->state = 6;
0
236 break;
never executed: break;
0
237-
238 case
never executed: case 7:
7:
never executed: case 7:
0
239 i = BIO_sock_error(b->num);-
240 if (i
iDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
241 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
242 ERR_put_error(2,(0xfff),(i),__FILE__,258);-
243 ERR_asprintf_error_data("host=%s:%s",-
244 c->param_hostname, c->param_port);-
245 ERR_put_error(32,(0xfff),(110),__FILE__,261);-
246 ret = 0;-
247 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
248 } else-
249 c->state = 6;
never executed: c->state = 6;
0
250 break;
never executed: break;
0
251-
252 case
never executed: case 6:
6:
never executed: case 6:
0
253 ret = 1;-
254 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
255 default
never executed: default:
:
never executed: default:
0
256-
257 goto
never executed: goto exit_loop;
exit_loop;
never executed: goto exit_loop;
0
258 }-
259-
260 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
261 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
262 ) {-
263 if (!(ret = cb((BIO *)b, c->state, ret))
!(ret = cb((BI...->state, ret))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
264 goto
never executed: goto end;
end;
never executed: goto end;
0
265 }
never executed: end of block
0
266 }
never executed: end of block
0
267-
268-
269exit_loop:
code before this statement never executed: exit_loop:
0
270 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
271 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
272 )-
273 ret = cb((BIO *)b, c->state, ret);
never executed: ret = cb((BIO *)b, c->state, ret);
0
274end:
code before this statement never executed: end:
0
275 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
276}-
277-
278BIO_CONNECT *-
279BIO_CONNECT_new(void)-
280{-
281 BIO_CONNECT *ret;-
282-
283 if ((
(ret = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret = malloc(sizeof(BIO_CONNECT))) ==
(ret = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
284 ((void *)0)
(ret = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
285 )-
286 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
287 ((void *)0)
never executed: return ( ((void *)0) );
0
288 );
never executed: return ( ((void *)0) );
0
289 ret->state = 1;-
290 ret->param_hostname = -
291 ((void *)0)-
292 ;-
293 ret->param_port = -
294 ((void *)0)-
295 ;-
296 ret->info_callback = -
297 ((void *)0)-
298 ;-
299 ret->nbio = 0;-
300 ret->ip[0] = 0;-
301 ret->ip[1] = 0;-
302 ret->ip[2] = 0;-
303 ret->ip[3] = 0;-
304 ret->port = 0;-
305 memset((char *)&ret->them, 0, sizeof(ret->them));-
306 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
307}-
308-
309void-
310BIO_CONNECT_free(BIO_CONNECT *a)-
311{-
312 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
313 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
314 )-
315 return;
never executed: return;
0
316-
317 free(a->param_hostname);-
318 free(a->param_port);-
319 free(a);-
320}
never executed: end of block
0
321-
322const BIO_METHOD *-
323BIO_s_connect(void)-
324{-
325 return
never executed: return (&methods_connectp);
(&methods_connectp);
never executed: return (&methods_connectp);
0
326}-
327-
328static int-
329conn_new(BIO *bi)-
330{-
331 bi->init = 0;-
332 bi->num = -1;-
333 bi->flags = 0;-
334 if ((
(bi->ptr = (ch...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
bi->ptr = (char *)BIO_CONNECT_new()) ==
(bi->ptr = (ch...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
335 ((void *)0)
(bi->ptr = (ch...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
336 )-
337 return
never executed: return (0);
(0);
never executed: return (0);
0
338 else-
339 return
never executed: return (1);
(1);
never executed: return (1);
0
340}-
341-
342static void-
343conn_close_socket(BIO *bio)-
344{-
345 BIO_CONNECT *c;-
346-
347 c = (BIO_CONNECT *)bio->ptr;-
348 if (bio->num != -1
bio->num != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
349-
350 if (c->state == 6
c->state == 6Description
TRUEnever evaluated
FALSEnever evaluated
)
0
351 shutdown(bio->num,
never executed: shutdown(bio->num, SHUT_RDWR );
0
352 SHUT_RDWR
never executed: shutdown(bio->num, SHUT_RDWR );
0
353 );
never executed: shutdown(bio->num, SHUT_RDWR );
0
354 close(bio->num);-
355 bio->num = -1;-
356 }
never executed: end of block
0
357}
never executed: end of block
0
358-
359static int-
360conn_free(BIO *a)-
361{-
362 BIO_CONNECT *data;-
363-
364 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
365 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
366 )-
367 return
never executed: return (0);
(0);
never executed: return (0);
0
368 data = (BIO_CONNECT *)a->ptr;-
369-
370 if (a->shutdown
a->shutdownDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
371 conn_close_socket(a);-
372 BIO_CONNECT_free(data);-
373 a->ptr = -
374 ((void *)0)-
375 ;-
376 a->flags = 0;-
377 a->init = 0;-
378 }
never executed: end of block
0
379 return
never executed: return (1);
(1);
never executed: return (1);
0
380}-
381-
382static int-
383conn_read(BIO *b, char *out, int outl)-
384{-
385 int ret = 0;-
386 BIO_CONNECT *data;-
387-
388 data = (BIO_CONNECT *)b->ptr;-
389 if (data->state != 6
data->state != 6Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
390 ret = conn_state(b, data);-
391 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
392 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
393 }
never executed: end of block
0
394-
395 if (out !=
out != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
396 ((void *)0)
out != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
397 ) {-
398 -
399 (*__errno_location ()) -
400 = 0;-
401 ret = read(b->num, out, outl);-
402 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
403 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
404 if (BIO_sock_should_retry(ret)
BIO_sock_should_retry(ret)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
405 BIO_set_flags(b, (0x01|0x08));
never executed: BIO_set_flags(b, (0x01|0x08));
0
406 }
never executed: end of block
0
407 }
never executed: end of block
0
408 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
409}-
410-
411static int-
412conn_write(BIO *b, const char *in, int inl)-
413{-
414 int ret;-
415 BIO_CONNECT *data;-
416-
417 data = (BIO_CONNECT *)b->ptr;-
418 if (data->state != 6
data->state != 6Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
419 ret = conn_state(b, data);-
420 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
421 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
422 }
never executed: end of block
0
423-
424 -
425(*__errno_location ()) -
426 = 0;-
427 ret = write(b->num, in, inl);-
428 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
429 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
430 if (BIO_sock_should_retry(ret)
BIO_sock_should_retry(ret)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
431 BIO_set_flags(b, (0x02|0x08));
never executed: BIO_set_flags(b, (0x02|0x08));
0
432 }
never executed: end of block
0
433 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
434}-
435-
436static long-
437conn_ctrl(BIO *b, int cmd, long num, void *ptr)-
438{-
439 BIO *dbio;-
440 int *ip;-
441 const char **pptr;-
442 long ret = 1;-
443 BIO_CONNECT *data;-
444-
445 data = (BIO_CONNECT *)b->ptr;-
446-
447 switch (cmd) {-
448 case
never executed: case 1:
1:
never executed: case 1:
0
449 ret = 0;-
450 data->state = 1;-
451 conn_close_socket(b);-
452 b->flags = 0;-
453 break;
never executed: break;
0
454 case
never executed: case 101:
101:
never executed: case 101:
0
455-
456 if (data->state != 6
data->state != 6Description
TRUEnever evaluated
FALSEnever evaluated
)
0
457 ret = (long)conn_state(b, data);
never executed: ret = (long)conn_state(b, data);
0
458 else-
459 ret = 1;
never executed: ret = 1;
0
460 break;
never executed: break;
0
461 case
never executed: case 123:
123:
never executed: case 123:
0
462 if (ptr !=
ptr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
463 ((void *)0)
ptr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
464 ) {-
465 pptr = (const char **)ptr;-
466 if (num == 0
num == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
467 *pptr = data->param_hostname;-
468-
469 }
never executed: end of block
else if (num == 1
num == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
470 *pptr = data->param_port;-
471 }
never executed: end of block
else if (num == 2
num == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
472 *pptr = (char *)&(data->ip[0]);-
473 }
never executed: end of block
else if (num == 3
num == 3Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
474 *((int *)ptr) = data->port;-
475 }
never executed: end of block
0
476 if ((
(!b->init)Description
TRUEnever evaluated
FALSEnever evaluated
!b->init)
(!b->init)Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(ptr == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
ptr ==
(ptr == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
477 ((void *)0)
(ptr == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
478 )
(ptr == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
479 *
never executed: *pptr = "not initialized";
pptr = "not initialized";
never executed: *pptr = "not initialized";
0
480 ret = 1;-
481 }
never executed: end of block
0
482 break;
never executed: break;
0
483 case
never executed: case 100:
100:
never executed: case 100:
0
484 if (ptr !=
ptr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
485 ((void *)0)
ptr != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
486 ) {-
487 b->init = 1;-
488 if (num == 0
num == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
489 free(data->param_hostname);-
490 data->param_hostname = -
491 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( ptr )Description
TRUEnever evaluated
FALSEnever evaluated
0
492 ptr
__builtin_constant_p ( ptr )Description
TRUEnever evaluated
FALSEnever evaluated
0
493 )
__builtin_constant_p ( ptr )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
494 ptr
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
495 ) + 1) - (size_t)(const void *)(
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
496 ptr
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
497 ) == 1)
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
498 ptr
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
499 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
0
500 ptr-
501 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, ptr , __len);
0
502 ptr
never executed: __retval = (char *) memcpy (__retval, ptr , __len);
0
503 , __len);
never executed: __retval = (char *) memcpy (__retval, ptr , __len);
__retval; })) : __strdup (
0
504 ptr-
505 )))-
506 ;-
507 }
never executed: end of block
else if (num == 1
num == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
508 free(data->param_port);-
509 data->param_port = -
510 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( ptr )Description
TRUEnever evaluated
FALSEnever evaluated
0
511 ptr
__builtin_constant_p ( ptr )Description
TRUEnever evaluated
FALSEnever evaluated
0
512 )
__builtin_constant_p ( ptr )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
513 ptr
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
514 ) + 1) - (size_t)(const void *)(
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
515 ptr
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
516 ) == 1)
((size_t)(cons...)( ptr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
517 ptr
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
518 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
0
519 ptr-
520 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, ptr , __len);
0
521 ptr
never executed: __retval = (char *) memcpy (__retval, ptr , __len);
0
522 , __len);
never executed: __retval = (char *) memcpy (__retval, ptr , __len);
__retval; })) : __strdup (
0
523 ptr-
524 )))-
525 ;-
526 }
never executed: end of block
else if (num == 2
num == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
527 unsigned char *p = ptr;-
528 free(data->param_hostname);-
529 if (asprintf(&data->param_hostname,
asprintf(&data...], p[3]) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
530 "%u.%u.%u.%u", p[0], p[1],
asprintf(&data...], p[3]) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
531 p[2], p[3]) == -1
asprintf(&data...], p[3]) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
532 data->param_hostname =
never executed: data->param_hostname = ((void *)0) ;
0
533 ((void *)0)
never executed: data->param_hostname = ((void *)0) ;
0
534 ;
never executed: data->param_hostname = ((void *)0) ;
0
535 memcpy(&(data->ip[0]), ptr, 4);-
536 }
never executed: end of block
else if (num == 3
num == 3Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
537 free(data->param_port);-
538 data->port= *(int *)ptr;-
539 if (asprintf(&data->param_port, "%d",
asprintf(&data...a->port) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
540 data->port) == -1
asprintf(&data...a->port) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
541 data->param_port =
never executed: data->param_port = ((void *)0) ;
0
542 ((void *)0)
never executed: data->param_port = ((void *)0) ;
0
543 ;
never executed: data->param_port = ((void *)0) ;
0
544 }
never executed: end of block
0
545 }
never executed: end of block
0
546 break;
never executed: break;
0
547 case
never executed: case 102:
102:
never executed: case 102:
0
548 data->nbio = (int)num;-
549 break;
never executed: break;
0
550 case
never executed: case 105:
105:
never executed: case 105:
0
551 if (b->init
b->initDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
552 ip = (int *)ptr;-
553 if (ip !=
ip != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
554 ((void *)0)
ip != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
555 )-
556 *
never executed: *ip = b->num;
ip = b->num;
never executed: *ip = b->num;
0
557 ret = b->num;-
558 }
never executed: end of block
else
0
559 ret = -1;
never executed: ret = -1;
0
560 break;
never executed: break;
0
561 case
never executed: case 8:
8:
never executed: case 8:
0
562 ret = b->shutdown;-
563 break;
never executed: break;
0
564 case
never executed: case 9:
9:
never executed: case 9:
0
565 b->shutdown = (int)num;-
566 break;
never executed: break;
0
567 case
never executed: case 10:
10:
never executed: case 10:
0
568 case
never executed: case 13:
13:
never executed: case 13:
0
569 ret = 0;-
570 break;
never executed: break;
0
571 case
never executed: case 11:
11:
never executed: case 11:
0
572 break;
never executed: break;
0
573 case
never executed: case 12:
12:
never executed: case 12:
0
574 {-
575 dbio = (BIO *)ptr;-
576 if (data->param_port
data->param_portDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
577 BIO_ctrl(dbio,100,1,(char *)data->param_port);
never executed: BIO_ctrl(dbio,100,1,(char *)data->param_port);
0
578 if (data->param_hostname
data->param_hostnameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
579 BIO_ctrl(dbio,100,0,(char *)data->param_hostname)
never executed: BIO_ctrl(dbio,100,0,(char *)data->param_hostname) ;
0
580 ;
never executed: BIO_ctrl(dbio,100,0,(char *)data->param_hostname) ;
0
581 BIO_ctrl(dbio,102,(data->nbio),-
582 ((void *)0)-
583 );-
584-
585 (void)(int)BIO_callback_ctrl(dbio,14,(bio_info_cb *)data->info_callback)-
586 ;-
587 }-
588 break;
never executed: break;
0
589 case
never executed: case 14:
14:
never executed: case 14:
0
590 {-
591-
592-
593-
594-
595 ret = 0;-
596-
597 }-
598 break;
never executed: break;
0
599 case
never executed: case 15:
15:
never executed: case 15:
0
600 {-
601 int (**fptr)(const BIO *bio, int state, int xret);-
602-
603 fptr = (int (**)(const BIO *bio, int state, int xret))ptr;-
604 *fptr = data->info_callback;-
605 }-
606 break;
never executed: break;
0
607 default
never executed: default:
:
never executed: default:
0
608 ret = 0;-
609 break;
never executed: break;
0
610 }-
611 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
612}-
613-
614static long-
615conn_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp)-
616{-
617 long ret = 1;-
618 BIO_CONNECT *data;-
619-
620 data = (BIO_CONNECT *)b->ptr;-
621-
622 switch (cmd) {-
623 case
never executed: case 14:
14:
never executed: case 14:
0
624 {-
625 data->info_callback = (int (*)(const struct bio_st *, int, int))fp;-
626 }-
627 break;
never executed: break;
0
628 default
never executed: default:
:
never executed: default:
0
629 ret = 0;-
630 break;
never executed: break;
0
631 }-
632 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
633}-
634-
635static int-
636conn_puts(BIO *bp, const char *str)-
637{-
638 int n, ret;-
639-
640 n = strlen(str);-
641 ret = conn_write(bp, str, n);-
642 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
643}-
644-
645BIO *-
646BIO_new_connect(const char *str)-
647{-
648 BIO *ret;-
649-
650 ret = BIO_new(BIO_s_connect());-
651 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
652 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
653 )-
654 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
655 ((void *)0)
never executed: return ( ((void *)0) );
0
656 );
never executed: return ( ((void *)0) );
0
657 if (BIO_ctrl(ret,100,0,(char *)str)
BIO_ctrl(ret,1...0,(char *)str)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
658 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
659 else {-
660 BIO_free(ret);-
661 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
662 ((void *)0)
never executed: return ( ((void *)0) );
0
663 );
never executed: return ( ((void *)0) );
0
664 }-
665}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2