OpenCoverage

bf_buff.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bio/bf_buff.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static int buffer_write(BIO *h, const char *buf, int num);-
4static int buffer_read(BIO *h, char *buf, int size);-
5static int buffer_puts(BIO *h, const char *str);-
6static int buffer_gets(BIO *h, char *str, int size);-
7static long buffer_ctrl(BIO *h, int cmd, long arg1, void *arg2);-
8static int buffer_new(BIO *h);-
9static int buffer_free(BIO *data);-
10static long buffer_callback_ctrl(BIO *h, int cmd, bio_info_cb *fp);-
11-
12-
13static const BIO_METHOD methods_buffer = {-
14 .type = (9|0x0200),-
15 .name = "buffer",-
16 .bwrite = buffer_write,-
17 .bread = buffer_read,-
18 .bputs = buffer_puts,-
19 .bgets = buffer_gets,-
20 .ctrl = buffer_ctrl,-
21 .create = buffer_new,-
22 .destroy = buffer_free,-
23 .callback_ctrl = buffer_callback_ctrl-
24};-
25-
26const BIO_METHOD *-
27BIO_f_buffer(void)-
28{-
29 return
executed 142 times by 5 tests: return (&methods_buffer);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(&methods_buffer);
executed 142 times by 5 tests: return (&methods_buffer);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
142
30}-
31-
32static int-
33buffer_new(BIO *bi)-
34{-
35 BIO_F_BUFFER_CTX *ctx;-
36-
37 ctx = malloc(sizeof(BIO_F_BUFFER_CTX));-
38 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
39 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
40 )-
41 return
never executed: return (0);
(0);
never executed: return (0);
0
42 ctx->ibuf = malloc(4096);-
43 if (ctx->ibuf ==
ctx->ibuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
44 ((void *)0)
ctx->ibuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
45 ) {-
46 free(ctx);-
47 return
never executed: return (0);
(0);
never executed: return (0);
0
48 }-
49 ctx->obuf = malloc(4096);-
50 if (ctx->obuf ==
ctx->obuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
51 ((void *)0)
ctx->obuf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
52 ) {-
53 free(ctx->ibuf);-
54 free(ctx);-
55 return
never executed: return (0);
(0);
never executed: return (0);
0
56 }-
57 ctx->ibuf_size = 4096;-
58 ctx->obuf_size = 4096;-
59 ctx->ibuf_len = 0;-
60 ctx->ibuf_off = 0;-
61 ctx->obuf_len = 0;-
62 ctx->obuf_off = 0;-
63-
64 bi->init = 1;-
65 bi->ptr = (char *)ctx;-
66 bi->flags = 0;-
67 return
executed 142 times by 5 tests: return (1);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(1);
executed 142 times by 5 tests: return (1);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
142
68}-
69-
70static int-
71buffer_free(BIO *a)-
72{-
73 BIO_F_BUFFER_CTX *b;-
74-
75 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
76 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
77 )-
78 return
never executed: return (0);
(0);
never executed: return (0);
0
79 b = (BIO_F_BUFFER_CTX *)a->ptr;-
80 free(b->ibuf);-
81 free(b->obuf);-
82 free(a->ptr);-
83 a->ptr = -
84 ((void *)0)-
85 ;-
86 a->init = 0;-
87 a->flags = 0;-
88 return
executed 142 times by 5 tests: return (1);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(1);
executed 142 times by 5 tests: return (1);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
142
89}-
90-
91static int-
92buffer_read(BIO *b, char *out, int outl)-
93{-
94 int i, num = 0;-
95 BIO_F_BUFFER_CTX *ctx;-
96-
97 if (out ==
out == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
98 ((void *)0)
out == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
99 )-
100 return
never executed: return (0);
(0);
never executed: return (0);
0
101 ctx = (BIO_F_BUFFER_CTX *)b->ptr;-
102-
103 if ((
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
ctx ==
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
104 ((void *)0)
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
105 )
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
b->next_bio ==
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
106 ((void *)0)
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
107 )
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
108 return
never executed: return (0);
(0);
never executed: return (0);
0
109 num = 0;-
110 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
111-
112start:
code before this statement never executed: start:
0
113 i = ctx->ibuf_len;-
114-
115 if (i != 0
i != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
116 if (i > outl
i > outlDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
117 i = outl;
never executed: i = outl;
0
118 memcpy(out, &(ctx->ibuf[ctx->ibuf_off]), i);-
119 ctx->ibuf_off += i;-
120 ctx->ibuf_len -= i;-
121 num += i;-
122 if (outl == i
outl == iDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
123 return
never executed: return (num);
(num);
never executed: return (num);
0
124 outl -= i;-
125 out += i;-
126 }
never executed: end of block
0
127-
128-
129-
130-
131-
132-
133 if (outl > ctx->ibuf_size
outl > ctx->ibuf_sizeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
134 for (;;) {-
135 i = BIO_read(b->next_bio, out, outl);-
136 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
137 BIO_copy_next_retry(b);-
138 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
139 return
never executed: return ((num > 0) ? num : i);
((
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
num > 0)
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
? num : i);
never executed: return ((num > 0) ? num : i);
0
140 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
141 return
never executed: return (num);
(num);
never executed: return (num);
0
142 }
never executed: end of block
0
143 num += i;-
144 if (outl == i
outl == iDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
145 return
never executed: return (num);
(num);
never executed: return (num);
0
146 out += i;-
147 outl -= i;-
148 }
never executed: end of block
0
149 }
never executed: end of block
0
150-
151-
152-
153 i = BIO_read(b->next_bio, ctx->ibuf, ctx->ibuf_size);-
154 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
155 BIO_copy_next_retry(b);-
156 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
157 return
never executed: return ((num > 0) ? num : i);
((
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
num > 0)
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
? num : i);
never executed: return ((num > 0) ? num : i);
0
158 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
159 return
never executed: return (num);
(num);
never executed: return (num);
0
160 }
never executed: end of block
0
161 ctx->ibuf_off = 0;-
162 ctx->ibuf_len = i;-
163-
164-
165 goto
never executed: goto start;
start;
never executed: goto start;
0
166}-
167-
168static int-
169buffer_write(BIO *b, const char *in, int inl)-
170{-
171 int i, num = 0;-
172 BIO_F_BUFFER_CTX *ctx;-
173-
174 if ((
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
in ==
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-687
175 ((void *)0)
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-687
176 )
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
|| (
(inl <= 0)Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
inl <= 0)
(inl <= 0)Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-687
177 return
never executed: return (0);
(0);
never executed: return (0);
0
178 ctx = (BIO_F_BUFFER_CTX *)b->ptr;-
179 if ((
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
ctx ==
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-687
180 ((void *)0)
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-687
181 )
(ctx == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
|| (
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
b->next_bio ==
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-687
182 ((void *)0)
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-687
183 )
(b->next_bio == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-687
184 return
never executed: return (0);
(0);
never executed: return (0);
0
185-
186 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
187start:
code before this statement executed 687 times by 4 tests: start:
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
687
188 i = ctx->obuf_size - (ctx->obuf_len + ctx->obuf_off);-
189-
190 if (i >= inl
i >= inlDescription
TRUEevaluated 687 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-687
191 memcpy(&(ctx->obuf[ctx->obuf_off + ctx->obuf_len]), in, inl);-
192 ctx->obuf_len += inl;-
193 return
executed 687 times by 4 tests: return (num + inl);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(num + inl);
executed 687 times by 4 tests: return (num + inl);
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
687
194 }-
195-
196-
197 if (ctx->obuf_len != 0
ctx->obuf_len != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
198 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
199 {-
200 memcpy(&(ctx->obuf[ctx->obuf_off + ctx->obuf_len]), in, i);-
201 in += i;-
202 inl -= i;-
203 num += i;-
204 ctx->obuf_len += i;-
205 }
never executed: end of block
0
206-
207 for (;;) {-
208 i = BIO_write(b->next_bio, &(ctx->obuf[ctx->obuf_off]),-
209 ctx->obuf_len);-
210 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
211 BIO_copy_next_retry(b);-
212-
213 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
214 return
never executed: return ((num > 0) ? num : i);
((
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
num > 0)
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
? num : i);
never executed: return ((num > 0) ? num : i);
0
215 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
216 return
never executed: return (num);
(num);
never executed: return (num);
0
217 }
never executed: end of block
0
218 ctx->obuf_off += i;-
219 ctx->obuf_len -= i;-
220 if (ctx->obuf_len == 0
ctx->obuf_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
221 break;
never executed: break;
0
222 }
never executed: end of block
0
223 }
never executed: end of block
0
224-
225-
226 ctx->obuf_off = 0;-
227-
228-
229 while (inl >= ctx->obuf_size
inl >= ctx->obuf_sizeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
230 i = BIO_write(b->next_bio, in, inl);-
231 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
232 BIO_copy_next_retry(b);-
233 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
234 return
never executed: return ((num > 0) ? num : i);
((
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
num > 0)
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
? num : i);
never executed: return ((num > 0) ? num : i);
0
235 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
236 return
never executed: return (num);
(num);
never executed: return (num);
0
237 }
never executed: end of block
0
238 num += i;-
239 in += i;-
240 inl -= i;-
241 if (inl == 0
inl == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
242 return
never executed: return (num);
(num);
never executed: return (num);
0
243 }
never executed: end of block
0
244-
245-
246-
247 goto
never executed: goto start;
start;
never executed: goto start;
0
248}-
249-
250static long-
251buffer_ctrl(BIO *b, int cmd, long num, void *ptr)-
252{-
253 BIO *dbio;-
254 BIO_F_BUFFER_CTX *ctx;-
255 long ret = 1;-
256 char *p1, *p2;-
257 int r, i, *ip;-
258 int ibs, obs;-
259-
260 ctx = (BIO_F_BUFFER_CTX *)b->ptr;-
261-
262 switch (cmd) {-
263 case
executed 139 times by 4 tests: case 1:
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
1:
executed 139 times by 4 tests: case 1:
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
139
264 ctx->ibuf_off = 0;-
265 ctx->ibuf_len = 0;-
266 ctx->obuf_off = 0;-
267 ctx->obuf_len = 0;-
268 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-139
269 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-139
270 )-
271 return
executed 139 times by 4 tests: return (0);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
(0);
executed 139 times by 4 tests: return (0);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
139
272 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
273 break;
never executed: break;
0
274 case
never executed: case 3:
3:
never executed: case 3:
0
275 ret = (long)ctx->obuf_len;-
276 break;
never executed: break;
0
277 case
never executed: case 116:
116:
never executed: case 116:
0
278 ret = 0;-
279 p1 = ctx->ibuf;-
280 for (i = 0; i < ctx->ibuf_len
i < ctx->ibuf_lenDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
281 if (p1[ctx->ibuf_off + i] == '\n'
p1[ctx->ibuf_off + i] == '\n'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
282 ret++;
never executed: ret++;
0
283 }
never executed: end of block
0
284 break;
never executed: break;
0
285 case
executed 120 times by 1 test: case 13:
Executed by:
  • ssltest
13:
executed 120 times by 1 test: case 13:
Executed by:
  • ssltest
120
286 ret = (long)ctx->obuf_len;-
287 if (ret == 0
ret == 0Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 87 times by 1 test
Evaluated by:
  • ssltest
) {
33-87
288 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • ssltest
0-33
289 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • ssltest
0-33
290 )-
291 return
never executed: return (0);
(0);
never executed: return (0);
0
292 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
293 }
executed 33 times by 1 test: end of block
Executed by:
  • ssltest
33
294 break;
executed 120 times by 1 test: break;
Executed by:
  • ssltest
120
295 case
never executed: case 10:
10:
never executed: case 10:
0
296 ret = (long)ctx->ibuf_len;-
297 if (ret == 0
ret == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
298 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
299 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
300 )-
301 return
never executed: return (0);
(0);
never executed: return (0);
0
302 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
303 }
never executed: end of block
0
304 break;
never executed: break;
0
305 case
never executed: case 122:
122:
never executed: case 122:
0
306 if (num > ctx->ibuf_size
num > ctx->ibuf_sizeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
307 p1 = malloc(num);-
308 if (p1 ==
p1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
309 ((void *)0)
p1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
310 )-
311 goto
never executed: goto malloc_error;
malloc_error;
never executed: goto malloc_error;
0
312 free(ctx->ibuf);-
313 ctx->ibuf = p1;-
314 }
never executed: end of block
0
315 ctx->ibuf_off = 0;-
316 ctx->ibuf_len = (int)num;-
317 memcpy(ctx->ibuf, ptr, num);-
318 ret = 1;-
319 break;
never executed: break;
0
320 case
executed 139 times by 4 tests: case 117:
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
117:
executed 139 times by 4 tests: case 117:
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
139
321 if (ptr !=
ptr != ((void *)0)Description
TRUEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-139
322 ((void *)0)
ptr != ((void *)0)Description
TRUEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-139
323 ) {-
324 ip = (int *)ptr;-
325 if (*
*ip == 0Description
TRUEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
ip == 0
*ip == 0Description
TRUEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-139
326 ibs = (int)num;-
327 obs = ctx->obuf_size;-
328 }
executed 139 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
139
329 else-
330 {-
331 ibs = ctx->ibuf_size;-
332 obs = (int)num;-
333 }
never executed: end of block
0
334 } else {-
335 ibs = (int)num;-
336 obs = (int)num;-
337 }
never executed: end of block
0
338 p1 = ctx->ibuf;-
339 p2 = ctx->obuf;-
340 if ((
(ibs > 4096)Description
TRUEnever evaluated
FALSEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
ibs > 4096)
(ibs > 4096)Description
TRUEnever evaluated
FALSEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& (
(ibs != ctx->ibuf_size)Description
TRUEnever evaluated
FALSEnever evaluated
ibs != ctx->ibuf_size)
(ibs != ctx->ibuf_size)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-139
341 p1 = malloc(num);-
342 if (p1 ==
p1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
343 ((void *)0)
p1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
344 )-
345 goto
never executed: goto malloc_error;
malloc_error;
never executed: goto malloc_error;
0
346 }
never executed: end of block
0
347 if ((
(obs > 4096)Description
TRUEnever evaluated
FALSEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
obs > 4096)
(obs > 4096)Description
TRUEnever evaluated
FALSEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& (
(obs != ctx->obuf_size)Description
TRUEnever evaluated
FALSEnever evaluated
obs != ctx->obuf_size)
(obs != ctx->obuf_size)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-139
348 p2 = malloc(num);-
349 if (p2 ==
p2 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
350 ((void *)0)
p2 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
351 ) {-
352 if (p1 != ctx->ibuf
p1 != ctx->ibufDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
353 free(p1);
never executed: free(p1);
0
354 goto
never executed: goto malloc_error;
malloc_error;
never executed: goto malloc_error;
0
355 }-
356 }
never executed: end of block
0
357 if (ctx->ibuf != p1
ctx->ibuf != p1Description
TRUEnever evaluated
FALSEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-139
358 free(ctx->ibuf);-
359 ctx->ibuf = p1;-
360 ctx->ibuf_off = 0;-
361 ctx->ibuf_len = 0;-
362 ctx->ibuf_size = ibs;-
363 }
never executed: end of block
0
364 if (ctx->obuf != p2
ctx->obuf != p2Description
TRUEnever evaluated
FALSEevaluated 139 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-139
365 free(ctx->obuf);-
366 ctx->obuf = p2;-
367 ctx->obuf_off = 0;-
368 ctx->obuf_len = 0;-
369 ctx->obuf_size = obs;-
370 }
never executed: end of block
0
371 break;
executed 139 times by 4 tests: break;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
139
372 case
never executed: case 101:
101:
never executed: case 101:
0
373 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
374 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
375 )-
376 return
never executed: return (0);
(0);
never executed: return (0);
0
377 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
378 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
379 BIO_copy_next_retry(b);-
380 break;
never executed: break;
0
381-
382 case
executed 581 times by 4 tests: case 11:
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
11:
executed 581 times by 4 tests: case 11:
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
581
383 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 581 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-581
384 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 581 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-581
385 )-
386 return
never executed: return (0);
(0);
never executed: return (0);
0
387 if (ctx->obuf_len <= 0
ctx->obuf_len <= 0Description
TRUEnever evaluated
FALSEevaluated 581 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-581
388 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
389 break;
never executed: break;
0
390 }-
391-
392 for (;;) {-
393 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
394 if (ctx->obuf_len > 0
ctx->obuf_len > 0Description
TRUEevaluated 771 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 205 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
205-771
395 r = BIO_write(b->next_bio,-
396 &(ctx->obuf[ctx->obuf_off]),-
397 ctx->obuf_len);-
398 BIO_copy_next_retry(b);-
399 if (r <= 0
r <= 0Description
TRUEevaluated 376 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 395 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
376-395
400 return
executed 376 times by 2 tests: return ((long)r);
Executed by:
  • ssltest
  • tlstest
((long)r);
executed 376 times by 2 tests: return ((long)r);
Executed by:
  • ssltest
  • tlstest
376
401 ctx->obuf_off += r;-
402 ctx->obuf_len -= r;-
403 }
executed 395 times by 4 tests: end of block
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
else {
395
404 ctx->obuf_len = 0;-
405 ctx->obuf_off = 0;-
406 break;
executed 205 times by 4 tests: break;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
205
407 }-
408 }-
409 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
410 break;
executed 205 times by 4 tests: break;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
205
411 case
never executed: case 12:
12:
never executed: case 12:
0
412 dbio = (BIO *)ptr;-
413 if (!BIO_int_ctrl(dbio,117,ctx->ibuf_size,0)
!BIO_int_ctrl(...->ibuf_size,0)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
414 !BIO_int_ctrl(dbio,117,ctx->obuf_size,1)
!BIO_int_ctrl(...->obuf_size,1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
415 ret = 0;
never executed: ret = 0;
0
416 break;
never executed: break;
0
417 default
executed 306 times by 5 tests: default:
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
:
executed 306 times by 5 tests: default:
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
306
418 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 306 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-306
419 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 306 times by 5 tests
Evaluated by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-306
420 )-
421 return
never executed: return (0);
(0);
never executed: return (0);
0
422 ret = BIO_ctrl(b->next_bio, cmd, num, ptr);-
423 break;
executed 306 times by 5 tests: break;
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
306
424 }-
425 return
executed 770 times by 5 tests: return (ret);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 770 times by 5 tests: return (ret);
Executed by:
  • clienttest
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
770
426malloc_error:-
427 ERR_put_error(32,(0xfff),((1|64)),__FILE__,448);-
428 return
never executed: return (0);
(0);
never executed: return (0);
0
429}-
430-
431static long-
432buffer_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp)-
433{-
434 long ret = 1;-
435-
436 if (b->next_bio ==
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
437 ((void *)0)
b->next_bio == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
438 )-
439 return
never executed: return (0);
(0);
never executed: return (0);
0
440 switch (cmd) {-
441 default
never executed: default:
:
never executed: default:
0
442 ret = BIO_callback_ctrl(b->next_bio, cmd, fp);-
443 break;
never executed: break;
0
444 }-
445 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
446}-
447-
448static int-
449buffer_gets(BIO *b, char *buf, int size)-
450{-
451 BIO_F_BUFFER_CTX *ctx;-
452 int num = 0, i, flag;-
453 char *p;-
454-
455 ctx = (BIO_F_BUFFER_CTX *)b->ptr;-
456 size--;-
457 BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08));-
458-
459 for (;;) {-
460 if (ctx->ibuf_len > 0
ctx->ibuf_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
461 p = &(ctx->ibuf[ctx->ibuf_off]);-
462 flag = 0;-
463 for (i = 0; (
(i < ctx->ibuf_len)Description
TRUEnever evaluated
FALSEnever evaluated
i < ctx->ibuf_len)
(i < ctx->ibuf_len)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(i < size)Description
TRUEnever evaluated
FALSEnever evaluated
i < size)
(i < size)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
464 *(buf++) = p[i];-
465 if (p[i] == '\n'
p[i] == '\n'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
466 flag = 1;-
467 i++;-
468 break;
never executed: break;
0
469 }-
470 }
never executed: end of block
0
471 num += i;-
472 size -= i;-
473 ctx->ibuf_len -= i;-
474 ctx->ibuf_off += i;-
475 if (flag
flagDescription
TRUEnever evaluated
FALSEnever evaluated
|| size == 0
size == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
476 *buf = '\0';-
477 return
never executed: return (num);
(num);
never executed: return (num);
0
478 }-
479 }
never executed: end of block
0
480 else-
481 {-
482 i = BIO_read(b->next_bio, ctx->ibuf, ctx->ibuf_size);-
483 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
484 BIO_copy_next_retry(b);-
485 *buf = '\0';-
486 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
487 return
never executed: return ((num > 0) ? num : i);
((
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
num > 0)
(num > 0)Description
TRUEnever evaluated
FALSEnever evaluated
? num : i);
never executed: return ((num > 0) ? num : i);
0
488 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
489 return
never executed: return (num);
(num);
never executed: return (num);
0
490 }
never executed: end of block
0
491 ctx->ibuf_len = i;-
492 ctx->ibuf_off = 0;-
493 }
never executed: end of block
0
494 }-
495}
never executed: end of block
0
496-
497static int-
498buffer_puts(BIO *b, const char *str)-
499{-
500 return
never executed: return (buffer_write(b, str, strlen(str)));
(buffer_write(b, str, strlen(str)));
never executed: return (buffer_write(b, str, strlen(str)));
0
501}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2