OpenCoverage

ssl_pkt.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_pkt.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,-
9 unsigned int len, int create_empty_fragment);-
10static int ssl3_get_record(SSL *s);-
11-
12-
13-
14-
15-
16static void-
17ssl_force_want_read(SSL *s)-
18{-
19 BIO * bio;-
20-
21 bio = SSL_get_rbio(s);-
22 BIO_clear_flags(bio, ((0x01|0x02|0x04)|0x08));-
23 BIO_set_flags(bio, (0x01|0x08));-
24 s->internal->rwstate = 3;-
25}
never executed: end of block
0
26static int-
27ssl3_read_n(SSL *s, int n, int max, int extend)-
28{-
29 int i, len, left;-
30 size_t align;-
31 unsigned char *pkt;-
32 SSL3_BUFFER *rb;-
33-
34 if (n <= 0
n <= 0Description
TRUEnever evaluated
FALSEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
)
0-4066
35 return
never executed: return n;
n;
never executed: return n;
0
36-
37 rb = &(s->s3->rbuf);-
38 if (rb->buf ==
rb->buf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
0-4066
39 ((void *)0)
rb->buf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
0-4066
40 )-
41 if (!ssl3_setup_read_buffer(s)
!ssl3_setup_read_buffer(s)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
42 return
never executed: return -1;
-1;
never executed: return -1;
0
43-
44 left = rb->left;-
45 align = (size_t)rb->buf + 5;-
46 align = (-align) & (8 - 1);-
47-
48 if (!extend
!extendDescription
TRUEevaluated 2387 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1679 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
1679-2387
49-
50 if (left == 0
left == 0Description
TRUEevaluated 2141 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 246 times by 1 test
Evaluated by:
  • ssltest
)
246-2141
51 rb->offset = align;
executed 2141 times by 4 tests: rb->offset = align;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
2141
52 else if (align != 0
align != 0Description
TRUEevaluated 246 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
&& left >= 5
left >= 5Description
TRUEnever evaluated
FALSEevaluated 246 times by 1 test
Evaluated by:
  • ssltest
) {
0-246
53-
54-
55 pkt = rb->buf + rb->offset;-
56 if (pkt[0] == 23
pkt[0] == 23Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
57 (
(pkt[3]<<8|pkt[4]) >= 128Description
TRUEnever evaluated
FALSEnever evaluated
pkt[3]<<8|pkt[4]) >= 128
(pkt[3]<<8|pkt[4]) >= 128Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
58-
59-
60-
61-
62-
63-
64-
65 memmove(rb->buf + align, pkt, left);-
66 rb->offset = align;-
67 }
never executed: end of block
0
68 }
never executed: end of block
0
69 s->internal->packet = rb->buf + rb->offset;-
70 s->internal->packet_length = 0;-
71-
72 }
executed 2387 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
2387
73-
74-
75-
76-
77 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 352 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 3714 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 352 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 3714 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
352-3714
78 if (left > 0
left > 0Description
TRUEnever evaluated
FALSEevaluated 352 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
&& n > left
n > leftDescription
TRUEnever evaluated
FALSEnever evaluated
)
0-352
79 n = left;
never executed: n = left;
0
80 }
executed 352 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
352
81-
82-
83 if (left >= n
left >= nDescription
TRUEnever evaluated
FALSEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-4066
84 s->internal->packet_length += n;-
85 rb->left = left - n;-
86 rb->offset += n;-
87 return
never executed: return (n);
(n);
never executed: return (n);
0
88 }-
89-
90-
91-
92 len = s->internal->packet_length;-
93 pkt = rb->buf + align;-
94-
95-
96-
97 if (s->internal->packet != pkt
s->internal->packet != pktDescription
TRUEnever evaluated
FALSEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-4066
98-
99 memmove(pkt, s->internal->packet, len + left);-
100 s->internal->packet = pkt;-
101 rb->offset = len + align;-
102 }
never executed: end of block
0
103-
104 if (n > (int)(rb->len - rb->offset)
n > (int)(rb->... - rb->offset)Description
TRUEnever evaluated
FALSEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-4066
105-
106 SSL_error_internal(s, (4|64), __FILE__, 227);-
107 return
never executed: return -1;
-1;
never executed: return -1;
0
108 }-
109-
110 if (!s->internal->read_ahead
!s->internal->read_aheadDescription
TRUEevaluated 4066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-4066
111-
112 max = n;-
113 }
executed 4066 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
else {
4066
114 if (max < n
max < nDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
115 max = n;
never executed: max = n;
0
116 if (max > (int)(rb->len - rb->offset)
max > (int)(rb... - rb->offset)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
117 max = rb->len - rb->offset;
never executed: max = rb->len - rb->offset;
0
118 }
never executed: end of block
0
119-
120 while (left < n
left < nDescription
TRUEevaluated 4566 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1707 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
1707-4566
121-
122-
123-
124-
125 -
126 (*__errno_location ()) -
127 = 0;-
128 if (s->rbio !=
s->rbio != ((void *)0)Description
TRUEevaluated 4566 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-4566
129 ((void *)0)
s->rbio != ((void *)0)Description
TRUEevaluated 4566 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-4566
130 ) {-
131 s->internal->rwstate = 3;-
132 i = BIO_read(s->rbio, pkt + len + left, max - left);-
133 }
executed 4566 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
else {
4566
134 SSL_error_internal(s, 211, __FILE__, 251);-
135 i = -1;-
136 }
never executed: end of block
0
137-
138 if (i <= 0
i <= 0Description
TRUEevaluated 2359 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2207 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
2207-2359
139 rb->left = left;-
140 if (s->internal->mode & 0x00000010L
s->internal->m... & 0x00000010LDescription
TRUEnever evaluated
FALSEevaluated 2359 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&&
0-2359
141 !(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
142 if (len + left == 0
len + left == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
143 ssl3_release_read_buffer(s);
never executed: ssl3_release_read_buffer(s);
0
144 }
never executed: end of block
0
145 return
executed 2359 times by 4 tests: return (i);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
(i);
executed 2359 times by 4 tests: return (i);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
2359
146 }-
147 left += i;-
148-
149-
150-
151-
152-
153-
154 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 307 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 1900 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 307 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 1900 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
307-1900
155 if (n > left
n > leftDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • clienttest
FALSEevaluated 306 times by 1 test
Evaluated by:
  • ssltest
)
1-306
156 n = left;
executed 1 time by 1 test: n = left;
Executed by:
  • clienttest
1
157 }
executed 307 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
307
158 }
executed 2207 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
2207
159-
160-
161 rb->offset += n;-
162 rb->left = left - n;-
163 s->internal->packet_length += n;-
164 s->internal->rwstate = 1;-
165-
166 return
executed 1707 times by 4 tests: return (n);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
(n);
executed 1707 times by 4 tests: return (n);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
1707
167}-
168-
169int-
170ssl3_packet_read(SSL *s, int plen)-
171{-
172 int n;-
173-
174 n = ssl3_read_n(s, plen, s->s3->rbuf.len, 0);-
175 if (n <= 0
n <= 0Description
TRUEevaluated 1533 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 854 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
)
854-1533
176 return
executed 1533 times by 4 tests: return n;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
n;
executed 1533 times by 4 tests: return n;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
1533
177 if (s->internal->packet_length < plen
s->internal->p..._length < plenDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • clienttest
FALSEevaluated 853 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
1-853
178 return
executed 1 time by 1 test: return s->internal->packet_length;
Executed by:
  • clienttest
s->internal->packet_length;
executed 1 time by 1 test: return s->internal->packet_length;
Executed by:
  • clienttest
1
179-
180 return
executed 853 times by 3 tests: return plen;
Executed by:
  • servertest
  • ssltest
  • tlstest
plen;
executed 853 times by 3 tests: return plen;
Executed by:
  • servertest
  • ssltest
  • tlstest
853
181}-
182-
183int-
184ssl3_packet_extend(SSL *s, int plen)-
185{-
186 int rlen, n;-
187-
188 if (s->internal->packet_length >= plen
s->internal->p...length >= plenDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • servertest
FALSEevaluated 1679 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
2-1679
189 return
executed 2 times by 1 test: return plen;
Executed by:
  • servertest
plen;
executed 2 times by 1 test: return plen;
Executed by:
  • servertest
2
190 rlen = plen - s->internal->packet_length;-
191-
192 n = ssl3_read_n(s, rlen, rlen, 1);-
193 if (n <= 0
n <= 0Description
TRUEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 853 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
826-853
194 return
executed 826 times by 2 tests: return n;
Executed by:
  • ssltest
  • tlstest
n;
executed 826 times by 2 tests: return n;
Executed by:
  • ssltest
  • tlstest
826
195 if (s->internal->packet_length < plen
s->internal->p..._length < plenDescription
TRUEnever evaluated
FALSEevaluated 853 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-853
196 return
never executed: return s->internal->packet_length;
s->internal->packet_length;
never executed: return s->internal->packet_length;
0
197-
198 return
executed 853 times by 3 tests: return plen;
Executed by:
  • servertest
  • ssltest
  • tlstest
plen;
executed 853 times by 3 tests: return plen;
Executed by:
  • servertest
  • ssltest
  • tlstest
853
199}-
200static int-
201ssl3_get_record(SSL *s)-
202{-
203 int al;-
204 int enc_err, n, i, ret = -1;-
205 SSL3_RECORD *rr;-
206 SSL_SESSION *sess;-
207 unsigned char md[64];-
208 unsigned mac_size, orig_len;-
209-
210 rr = &((s->s3->internal)->rrec);-
211 sess = s->session;-
212-
213 again:
code before this statement executed 2978 times by 4 tests: again:
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
2978
214-
215 if ((
(s->internal->rstate != 0xF1)Description
TRUEevaluated 2188 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->internal->rstate != 0xF1)
(s->internal->rstate != 0xF1)Description
TRUEevaluated 2188 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
826-2188
216 (
(s->internal->...et_length < 5)Description
TRUEnever evaluated
FALSEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->internal->packet_length < 5)
(s->internal->...et_length < 5)Description
TRUEnever evaluated
FALSEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-826
217 CBS header;-
218 uint16_t len, ssl_version;-
219 uint8_t type;-
220-
221 n = ssl3_packet_read(s, 5);-
222 if (n <= 0
n <= 0Description
TRUEevaluated 1488 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
700-1488
223 return
executed 1488 times by 4 tests: return (n);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
(n);
executed 1488 times by 4 tests: return (n);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
1488
224-
225 s->internal->mac_packet = 1;-
226 s->internal->rstate = 0xF1;-
227-
228 if (s->server
s->serverDescription
TRUEevaluated 286 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 414 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& s->internal->first_packet
s->internal->first_packetDescription
TRUEevaluated 54 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 232 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
54-414
229 if ((
(ret = ssl_ser...acket(s)) != 1Description
TRUEnever evaluated
FALSEevaluated 54 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
ret = ssl_server_legacy_first_packet(s)) != 1
(ret = ssl_ser...acket(s)) != 1Description
TRUEnever evaluated
FALSEevaluated 54 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-54
230 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
231 ret = -1;-
232 }
executed 54 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
54
233-
234 CBS_init(&header, s->internal->packet, 5);-
235-
236-
237 if (!CBS_get_u8(&header, &type)
!CBS_get_u8(&header, &type)Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
||
0-700
238 !CBS_get_u16(&header, &ssl_version)
!CBS_get_u16(&... &ssl_version)Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
||
0-700
239 !CBS_get_u16(&header, &len)
!CBS_get_u16(&header, &len)Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
240 SSL_error_internal(s, 115, __FILE__, 367);-
241 goto
never executed: goto err;
err;
never executed: goto err;
0
242 }-
243-
244 rr->type = type;-
245 rr->length = len;-
246-
247-
248 if (!s->internal->first_packet
!s->internal->first_packetDescription
TRUEevaluated 594 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
&& ssl_version != s->version
ssl_version != s->versionDescription
TRUEnever evaluated
FALSEevaluated 594 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-594
249 SSL_error_internal(s, 267, __FILE__, 376);-
250 if ((
(s->version & ...sion & 0xFF00)Description
TRUEnever evaluated
FALSEnever evaluated
s->version & 0xFF00) == (ssl_version & 0xFF00)
(s->version & ...sion & 0xFF00)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
251 !s->internal->enc_write_ctx
!s->internal->enc_write_ctxDescription
TRUEnever evaluated
FALSEnever evaluated
&& !s->internal->write_hash
!s->internal->write_hashDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
252-
253 s->version = ssl_version;
never executed: s->version = ssl_version;
0
254 al = 70;-
255 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
256 }-
257-
258 if ((
(ssl_version >> 8) != 0x03Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
ssl_version >> 8) != 0x03
(ssl_version >> 8) != 0x03Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
259 SSL_error_internal(s, 267, __FILE__, 386);-
260 goto
never executed: goto err;
err;
never executed: goto err;
0
261 }-
262-
263 if (rr->length > s->s3->rbuf.len - 5
rr->length > s...->rbuf.len - 5Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
264 al = 22;-
265 SSL_error_internal(s, 198, __FILE__, 392);-
266 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
267 }-
268-
269-
270 }
executed 700 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
700
271-
272-
273-
274 n = ssl3_packet_extend(s, 5 + rr->length);-
275 if (n <= 0
n <= 0Description
TRUEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
700-826
276 return
executed 826 times by 2 tests: return (n);
Executed by:
  • ssltest
  • tlstest
(n);
executed 826 times by 2 tests: return (n);
Executed by:
  • ssltest
  • tlstest
826
277 if (n != 5 + rr->length
n != 5 + rr->lengthDescription
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-700
278 return
never executed: return (n);
(n);
never executed: return (n);
0
279-
280 s->internal->rstate = 0xF0;-
281-
282-
283-
284-
285 rr->input = &(s->internal->packet[5]);-
286 if (rr->length > ((256 + 64)+16384)
rr->length > (...6 + 64)+16384)Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
287 al = 22;-
288 SSL_error_internal(s, 150, __FILE__, 427);-
289 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
290 }-
291-
292-
293 rr->data = rr->input;-
294-
295 enc_err = s->method->internal->ssl3_enc->enc(s, 0);-
296-
297-
298-
299-
300 if (enc_err == 0
enc_err == 0Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
301 al = 21;-
302 SSL_error_internal(s, 129, __FILE__, 441);-
303 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
304 }-
305-
306-
307-
308 if ((
(sess != ((void *)0) )Description
TRUEevaluated 655 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 45 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
sess !=
(sess != ((void *)0) )Description
TRUEevaluated 655 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 45 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
45-655
309 ((void *)0)
(sess != ((void *)0) )Description
TRUEevaluated 655 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 45 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
45-655
310 )
(sess != ((void *)0) )Description
TRUEevaluated 655 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 45 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
&& (
(s->enc_read_c... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 503 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->enc_read_ctx !=
(s->enc_read_c... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 503 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
45-655
311 ((void *)0)
(s->enc_read_c... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 503 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
152-503
312 )
(s->enc_read_c... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 503 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
152-503
313 (
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
EVP_MD_CTX_md(s->read_hash) !=
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-152
314 ((void *)0)
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-152
315 )
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-152
316-
317 unsigned char *mac = -
318 ((void *)0)-
319 ;-
320 unsigned char mac_tmp[64];-
321-
322 mac_size = EVP_MD_size(EVP_MD_CTX_md(s->read_hash));-
323 (void)((mac_size <= 64) ? 0 : (OpenSSLDie(__FILE__, 454, "mac_size <= EVP_MAX_MD_SIZE"),1));-
324-
325-
326 orig_len = rr->length + ((unsigned int)rr->type >> 8);-
327-
328-
329-
330-
331-
332-
333 if (orig_len < mac_size
orig_len < mac_sizeDescription
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
||
0-152
334-
335 ((
(EVP_CIPHER_CT...xF0007) == 0x2Description
TRUEevaluated 148 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
EVP_CIPHER_CTX_flags(s->enc_read_ctx) & 0xF0007) == 0x2
(EVP_CIPHER_CT...xF0007) == 0x2Description
TRUEevaluated 148 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
&&
4-148
336 orig_len < mac_size + 1
orig_len < mac_size + 1Description
TRUEnever evaluated
FALSEevaluated 148 times by 1 test
Evaluated by:
  • ssltest
)) {
0-148
337 al = 50;-
338 SSL_error_internal(s, 160, __FILE__, 469);-
339 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
340 }-
341-
342 if ((
(EVP_CIPHER_CT...xF0007) == 0x2Description
TRUEevaluated 148 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
EVP_CIPHER_CTX_flags(s->enc_read_ctx) & 0xF0007) == 0x2
(EVP_CIPHER_CT...xF0007) == 0x2Description
TRUEevaluated 148 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
) {
4-148
343-
344-
345-
346-
347-
348 mac = mac_tmp;-
349 ssl3_cbc_copy_mac(mac_tmp, rr, mac_size, orig_len);-
350 rr->length -= mac_size;-
351 }
executed 148 times by 1 test: end of block
Executed by:
  • ssltest
else {
148
352-
353-
354-
355 rr->length -= mac_size;-
356 mac = &rr->data[rr->length];-
357 }
executed 4 times by 1 test: end of block
Executed by:
  • ssltest
4
358-
359 i = tls1_mac(s,md,0 );-
360 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
|| mac ==
mac == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
0-152
361 ((void *)0)
mac == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
0-152
362 ||-
363 timingsafe_memcmp(md, mac, (size_t)mac_size) != 0
timingsafe_mem...mac_size) != 0Description
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
)
0-152
364 enc_err = -1;
never executed: enc_err = -1;
0
365 if (rr->length >
rr->length > 16384 + mac_sizeDescription
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
0-152
366 16384 + mac_size
rr->length > 16384 + mac_sizeDescription
TRUEnever evaluated
FALSEevaluated 152 times by 1 test
Evaluated by:
  • ssltest
)
0-152
367 enc_err = -1;
never executed: enc_err = -1;
0
368 }
executed 152 times by 1 test: end of block
Executed by:
  • ssltest
152
369-
370 if (enc_err < 0
enc_err < 0Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
371 al = 20;-
372 SSL_error_internal(s, 281, __FILE__, 509);-
373 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
374 }-
375-
376 if (rr->length > 16384
rr->length > 16384Description
TRUEnever evaluated
FALSEevaluated 700 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-700
377 al = 22;-
378 SSL_error_internal(s, 146, __FILE__, 515);-
379 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
380 }-
381-
382 rr->off = 0;-
383 s->internal->packet_length = 0;-
384-
385 if (rr->length == 0
rr->length == 0Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 664 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
36-664
386-
387-
388-
389-
390-
391-
392 if (s->internal->empty_record_count++ > 32
s->internal->e...d_count++ > 32Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
) {
0-36
393 SSL_error_internal(s, 666, __FILE__, 541);-
394 return
never executed: return -1;
-1;
never executed: return -1;
0
395 }-
396 if (s->internal->empty_record_count > 1
s->internal->e...cord_count > 1Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
) {
0-36
397 ssl_force_want_read(s);-
398 return
never executed: return -1;
-1;
never executed: return -1;
0
399 }-
400 goto
executed 36 times by 1 test: goto again;
Executed by:
  • ssltest
again;
executed 36 times by 1 test: goto again;
Executed by:
  • ssltest
36
401 } else {-
402 s->internal->empty_record_count = 0;-
403 }
executed 664 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
664
404-
405 return
executed 664 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
(1);
executed 664 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
664
406-
407f_err:-
408 ssl3_send_alert(s, 2, al);-
409err:
code before this statement never executed: err:
0
410 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
411}-
412-
413-
414-
415-
416int-
417ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)-
418{-
419 const unsigned char *buf = buf_;-
420 unsigned int tot, n, nw;-
421 int i;-
422-
423 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEevaluated 2066 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-2066
424 SSL_error_internal(s, (4|64), __FILE__, 572);-
425 return
never executed: return -1;
-1;
never executed: return -1;
0
426 }-
427-
428 s->internal->rwstate = 1;-
429 tot = (s->s3->internal)->wnum;-
430 (s->s3->internal)->wnum = 0;-
431-
432 if ((
(SSL_state((s)...x1000|0x2000))Description
TRUEevaluated 1856 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
SSL_state((s))&(0x1000|0x2000))
(SSL_state((s)...x1000|0x2000))Description
TRUEevaluated 1856 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
&& !s->internal->in_handshake
!s->internal->in_handshakeDescription
TRUEevaluated 1272 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 584 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
210-1856
433 i = s->internal->handshake_func(s);-
434 if (i < 0
i < 0Description
TRUEevaluated 1200 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 72 times by 1 test
Evaluated by:
  • ssltest
)
72-1200
435 return
executed 1200 times by 1 test: return (i);
Executed by:
  • ssltest
(i);
executed 1200 times by 1 test: return (i);
Executed by:
  • ssltest
1200
436 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEevaluated 72 times by 1 test
Evaluated by:
  • ssltest
) {
0-72
437 SSL_error_internal(s, 229, __FILE__, 585);-
438 return
never executed: return -1;
-1;
never executed: return -1;
0
439 }-
440 }
executed 72 times by 1 test: end of block
Executed by:
  • ssltest
72
441-
442 if (len < tot
len < totDescription
TRUEnever evaluated
FALSEevaluated 866 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
)
0-866
443 len = tot;
never executed: len = tot;
0
444 n = (len - tot);-
445 for (;;) {-
446 if (n > s->max_send_fragment
n > s->max_send_fragmentDescription
TRUEnever evaluated
FALSEevaluated 866 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
)
0-866
447 nw = s->max_send_fragment;
never executed: nw = s->max_send_fragment;
0
448 else-
449 nw = n;
executed 866 times by 4 tests: nw = n;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
866
450-
451 i = do_ssl3_write(s, type, &(buf[tot]), nw, 0);-
452 if (i <= 0
i <= 0Description
TRUEevaluated 186 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 680 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
186-680
453 (s->s3->internal)->wnum = tot;-
454 return
executed 186 times by 1 test: return i;
Executed by:
  • ssltest
i;
executed 186 times by 1 test: return i;
Executed by:
  • ssltest
186
455 }-
456-
457 if ((
(i == (int)n)Description
TRUEevaluated 680 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
i == (int)n)
(i == (int)n)Description
TRUEevaluated 680 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
|| (type == 23
type == 23Description
TRUEnever evaluated
FALSEnever evaluated
&&
0-680
458 (
(s->internal->...& 0x00000001L)Description
TRUEnever evaluated
FALSEnever evaluated
s->internal->mode & 0x00000001L)
(s->internal->...& 0x00000001L)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
459-
460-
461-
462-
463-
464 (s->s3->internal)->empty_fragment_done = 0;-
465-
466 return
executed 680 times by 4 tests: return tot + i;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
tot + i;
executed 680 times by 4 tests: return tot + i;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
680
467 }-
468-
469 n -= i;-
470 tot += i;-
471 }
never executed: end of block
0
472}
never executed: end of block
0
473-
474static int-
475do_ssl3_write(SSL *s, int type, const unsigned char *buf,-
476 unsigned int len, int create_empty_fragment)-
477{-
478 unsigned char *p, *plen;-
479 int i, mac_size, clear = 0;-
480 int prefix_len = 0;-
481 int eivlen;-
482 size_t align;-
483 SSL3_RECORD *wr;-
484 SSL3_BUFFER *wb = &(s->s3->wbuf);-
485 SSL_SESSION *sess;-
486-
487 if (wb->buf ==
wb->buf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1006 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
0-1006
488 ((void *)0)
wb->buf == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1006 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
0-1006
489 )-
490 if (!ssl3_setup_write_buffer(s)
!ssl3_setup_write_buffer(s)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
491 return
never executed: return -1;
-1;
never executed: return -1;
0
492-
493-
494-
495 if (wb->left != 0
wb->left != 0Description
TRUEevaluated 186 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 820 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
)
186-820
496 return
executed 186 times by 1 test: return (ssl3_write_pending(s, type, buf, len));
Executed by:
  • ssltest
(ssl3_write_pending(s, type, buf, len));
executed 186 times by 1 test: return (ssl3_write_pending(s, type, buf, len));
Executed by:
  • ssltest
186
497-
498-
499 if (s->s3->alert_dispatch
s->s3->alert_dispatchDescription
TRUEnever evaluated
FALSEevaluated 820 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-820
500 i = s->method->ssl_dispatch_alert(s);-
501 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
502 return
never executed: return (i);
(i);
never executed: return (i);
0
503-
504-
505 if (wb->buf ==
wb->buf == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
506 ((void *)0)
wb->buf == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
507 )-
508 if (!ssl3_setup_write_buffer(s)
!ssl3_setup_write_buffer(s)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
509 return
never executed: return -1;
-1;
never executed: return -1;
0
510 }
never executed: end of block
0
511-
512 if (len == 0
len == 0Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 784 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& !create_empty_fragment
!create_empty_fragmentDescription
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
)
0-784
513 return
never executed: return 0;
0;
never executed: return 0;
0
514-
515 wr = &((s->s3->internal)->wrec);-
516 sess = s->session;-
517-
518 if ((
(sess == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 820 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
sess ==
(sess == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 820 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
0-820
519 ((void *)0)
(sess == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 820 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
0-820
520 )
(sess == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 820 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
|| (
(s->internal->... ((void *)0) )Description
TRUEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
s->internal->enc_write_ctx ==
(s->internal->... ((void *)0) )Description
TRUEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
0-820
521 ((void *)0)
(s->internal->... ((void *)0) )Description
TRUEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
210-610
522 )
(s->internal->... ((void *)0) )Description
TRUEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
||
210-610
523 (
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
EVP_MD_CTX_md(s->internal->write_hash) ==
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
0-210
524 ((void *)0)
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
0-210
525 )
(EVP_MD_CTX_md... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
) {
0-210
526 clear = s->internal->enc_write_ctx
s->internal->enc_write_ctxDescription
TRUEnever evaluated
FALSEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
? 0 : 1;
0-610
527 mac_size = 0;-
528 }
executed 610 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
else {
610
529 mac_size = EVP_MD_size(EVP_MD_CTX_md(s->internal->write_hash));-
530 if (mac_size < 0
mac_size < 0Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
)
0-210
531 goto
never executed: goto err;
err;
never executed: goto err;
0
532 }
executed 210 times by 1 test: end of block
Executed by:
  • ssltest
210
533-
534-
535-
536-
537-
538 if (!clear
!clearDescription
TRUEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& !create_empty_fragment
!create_empty_fragmentDescription
TRUEevaluated 174 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
&& !(s->s3->internal)->empty_fragment_done
!(s->s3->inter..._fragment_doneDescription
TRUEevaluated 174 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-610
539-
540-
541-
542-
543 if ((
(s->s3->intern...mpty_fragmentsDescription
TRUEevaluated 108 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->need_empty_fragments
(s->s3->intern...mpty_fragmentsDescription
TRUEevaluated 108 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
&&
66-108
544 type == 23
type == 23Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 72 times by 1 test
Evaluated by:
  • ssltest
) {
36-72
545-
546-
547-
548-
549 prefix_len = do_ssl3_write(s, type, buf, 0, 1);-
550 if (prefix_len <= 0
prefix_len <= 0Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
)
0-36
551 goto
never executed: goto err;
err;
never executed: goto err;
0
552-
553 if (prefix_len >
prefix_len > (5 + (16 + 64))Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
0-36
554 (5 + (16 + 64))
prefix_len > (5 + (16 + 64))Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
) {
0-36
555-
556 SSL_error_internal(s, (4|64), __FILE__, 694);-
557 goto
never executed: goto err;
err;
never executed: goto err;
0
558 }-
559 }
executed 36 times by 1 test: end of block
Executed by:
  • ssltest
36
560-
561 (s->s3->internal)->empty_fragment_done = 1;-
562 }
executed 174 times by 1 test: end of block
Executed by:
  • ssltest
174
563-
564 if (create_empty_fragment
create_empty_fragmentDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 784 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
36-784
565-
566-
567-
568-
569 align = (size_t)wb->buf + 2 * 5;-
570 align = (-align) & (8 - 1);-
571-
572 p = wb->buf + align;-
573 wb->offset = align;-
574 }
executed 36 times by 1 test: end of block
Executed by:
  • ssltest
else if (prefix_len
prefix_lenDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 748 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
36-748
575 p = wb->buf + wb->offset + prefix_len;-
576 }
executed 36 times by 1 test: end of block
Executed by:
  • ssltest
else {
36
577 align = (size_t)wb->buf + 5;-
578 align = (-align) & (8 - 1);-
579-
580 p = wb->buf + align;-
581 wb->offset = align;-
582 }
executed 748 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
748
583-
584-
585-
586 *(p++) = type&0xff;-
587 wr->type = type;-
588-
589 *(p++) = (s->version >> 8);-
590-
591-
592-
593 if ((
(s->s3->intern...(0x111|0x1000)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 758 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
s->s3->internal)->hs.state == (0x111|0x1000)
(s->s3->intern...(0x111|0x1000)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 758 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
&& !s->internal->renegotiate
!s->internal->renegotiateDescription
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
&&
0-758
594 ((
(s->version >> 8) == 0x03Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
((s->version >... : 0) > 0x0301Description
TRUEevaluated 41 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 21 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
s->version >> 8) == 0x03
(s->version >> 8) == 0x03Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
? s->version : 0) > 0x0301
((s->version >... : 0) > 0x0301Description
TRUEevaluated 41 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 21 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
)
0-62
595 *(
executed 41 times by 3 tests: *(p++) = 0x1;
Executed by:
  • clienttest
  • ssltest
  • tlstest
p++) = 0x1;
executed 41 times by 3 tests: *(p++) = 0x1;
Executed by:
  • clienttest
  • ssltest
  • tlstest
41
596 else-
597 *(
executed 779 times by 4 tests: *(p++) = s->version&0xff;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
p++) = s->version&0xff;
executed 779 times by 4 tests: *(p++) = s->version&0xff;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
779
598-
599-
600 plen = p;-
601 p += 2;-
602-
603-
604 eivlen = 0;-
605 if (s->internal->enc_write_ctx
s->internal->enc_write_ctxDescription
TRUEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& (
(s->method->in...gs & (1 << 0))Description
TRUEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 144 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->ssl3_enc->enc_flags & (1 << 0))
(s->method->in...gs & (1 << 0))Description
TRUEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 144 times by 1 test
Evaluated by:
  • ssltest
) {
66-610
606 int mode = (EVP_CIPHER_CTX_flags(s->internal->enc_write_ctx) & 0xF0007);-
607 if (mode == 0x2
mode == 0x2Description
TRUEevaluated 60 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
) {
6-60
608 eivlen = EVP_CIPHER_CTX_iv_length(s->internal->enc_write_ctx);-
609 if (eivlen <= 1
eivlen <= 1Description
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • ssltest
)
0-60
610 eivlen = 0;
never executed: eivlen = 0;
0
611 }
executed 60 times by 1 test: end of block
Executed by:
  • ssltest
60
612 }
executed 66 times by 1 test: end of block
Executed by:
  • ssltest
else if (s->internal->aead_write_ctx !=
s->internal->a...!= ((void *)0)Description
TRUEevaluated 130 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 624 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
66-624
613 ((void *)0)
s->internal->a...!= ((void *)0)Description
TRUEevaluated 130 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 624 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
130-624
614 &&-
615 s->internal->aead_write_ctx->variable_nonce_in_record
s->internal->a...once_in_recordDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 94 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
36-94
616 eivlen = s->internal->aead_write_ctx->variable_nonce_len;-
617 }
executed 36 times by 1 test: end of block
Executed by:
  • ssltest
36
618-
619-
620 wr->data = p + eivlen;-
621 wr->length = (int)len;-
622 wr->input = (unsigned char *)buf;-
623-
624-
625-
626 memcpy(wr->data, wr->input, wr->length);-
627 wr->input = wr->data;-
628-
629-
630-
631-
632-
633 if (mac_size != 0
mac_size != 0Description
TRUEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 610 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
210-610
634 if (tls1_mac(s,
tls1_mac(s, &(...vlen]), 1) < 0Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
0-210
635 &(p[wr->length + eivlen]), 1) < 0
tls1_mac(s, &(...vlen]), 1) < 0Description
TRUEnever evaluated
FALSEevaluated 210 times by 1 test
Evaluated by:
  • ssltest
)
0-210
636 goto
never executed: goto err;
err;
never executed: goto err;
0
637 wr->length += mac_size;-
638 }
executed 210 times by 1 test: end of block
Executed by:
  • ssltest
210
639-
640 wr->input = p;-
641 wr->data = p;-
642-
643 if (eivlen
eivlenDescription
TRUEevaluated 96 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 724 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
96-724
644-
645-
646-
647 wr->length += eivlen;-
648 }
executed 96 times by 1 test: end of block
Executed by:
  • ssltest
96
649-
650-
651 s->method->internal->ssl3_enc->enc(s, 1);-
652-
653-
654 ((plen[0]=(unsigned char)(((wr->length)>> 8)&0xff), plen[1]=(unsigned char)(((wr->length) )&0xff)),plen+=2);-
655-
656-
657-
658-
659 wr->type=type;-
660 wr->length += 5;-
661-
662 if (create_empty_fragment
create_empty_fragmentDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 784 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
36-784
663-
664-
665-
666 return
executed 36 times by 1 test: return wr->length;
Executed by:
  • ssltest
wr->length;
executed 36 times by 1 test: return wr->length;
Executed by:
  • ssltest
36
667 }-
668-
669-
670 wb->left = prefix_len + wr->length;-
671-
672-
673-
674 (s->s3->internal)->wpend_tot = len;-
675 (s->s3->internal)->wpend_buf = buf;-
676 (s->s3->internal)->wpend_type = type;-
677 (s->s3->internal)->wpend_ret = len;-
678-
679-
680 return
executed 784 times by 4 tests: return ssl3_write_pending(s, type, buf, len);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
ssl3_write_pending(s, type, buf, len);
executed 784 times by 4 tests: return ssl3_write_pending(s, type, buf, len);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
784
681err:-
682 return
never executed: return -1;
-1;
never executed: return -1;
0
683}-
684-
685-
686int-
687ssl3_write_pending(SSL *s, int type, const unsigned char *buf, unsigned int len)-
688{-
689 int i;-
690 SSL3_BUFFER *wb = &(s->s3->wbuf);-
691-
692-
693 if (((
((s->s3->inter...ot > (int)len)Description
TRUEnever evaluated
FALSEevaluated 1146 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
s->s3->internal)->wpend_tot > (int)len)
((s->s3->inter...ot > (int)len)Description
TRUEnever evaluated
FALSEevaluated 1146 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
|| (((
((s->s3->inter...nd_buf != buf)Description
TRUEnever evaluated
FALSEevaluated 1146 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
s->s3->internal)->wpend_buf != buf)
((s->s3->inter...nd_buf != buf)Description
TRUEnever evaluated
FALSEevaluated 1146 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&&
0-1146
694 !(s->internal->mode & 0x00000002L)
!(s->internal-...& 0x00000002L)Description
TRUEnever evaluated
FALSEnever evaluated
) ||
0
695 ((
((s->s3->inter..._type != type)Description
TRUEnever evaluated
FALSEevaluated 1146 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
s->s3->internal)->wpend_type != type)
((s->s3->inter..._type != type)Description
TRUEnever evaluated
FALSEevaluated 1146 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-1146
696 SSL_error_internal(s, 127, __FILE__, 832);-
697 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
698 }-
699-
700 for (;;) {-
701 -
702 (*__errno_location ()) -
703 = 0;-
704 if (s->wbio !=
s->wbio != ((void *)0)Description
TRUEevaluated 1262 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 70 times by 1 test
Evaluated by:
  • ssltest
70-1262
705 ((void *)0)
s->wbio != ((void *)0)Description
TRUEevaluated 1262 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 70 times by 1 test
Evaluated by:
  • ssltest
70-1262
706 ) {-
707 s->internal->rwstate = 2;-
708 i = BIO_write(s->wbio,-
709 (char *)&(wb->buf[wb->offset]),-
710 (unsigned int)wb->left);-
711 }
executed 1262 times by 4 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
else {
1262
712 SSL_error_internal(s, 128, __FILE__, 844);-
713 i = -1;-
714 }
executed 70 times by 1 test: end of block
Executed by:
  • ssltest
70
715 if (i == wb->left
i == wb->leftDescription
TRUEevaluated 842 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 490 times by 1 test
Evaluated by:
  • ssltest
) {
490-842
716 wb->left = 0;-
717 wb->offset += i;-
718 if (s->internal->mode & 0x00000010L
s->internal->m... & 0x00000010LDescription
TRUEnever evaluated
FALSEevaluated 842 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&&
0-842
719 !(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
720 ssl3_release_write_buffer(s);
never executed: ssl3_release_write_buffer(s);
0
721 s->internal->rwstate = 1;-
722 return
executed 842 times by 4 tests: return ((s->s3->internal)->wpend_ret);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
((s->s3->internal)->wpend_ret);
executed 842 times by 4 tests: return ((s->s3->internal)->wpend_ret);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
842
723 } else if (i <= 0
i <= 0Description
TRUEevaluated 304 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 186 times by 1 test
Evaluated by:
  • ssltest
) {
186-304
724-
725-
726-
727-
728 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 22 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 282 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 22 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 282 times by 1 test
Evaluated by:
  • ssltest
)
22-282
729 wb->left = 0;
executed 22 times by 1 test: wb->left = 0;
Executed by:
  • ssltest
22
730 return
executed 304 times by 1 test: return (i);
Executed by:
  • ssltest
(i);
executed 304 times by 1 test: return (i);
Executed by:
  • ssltest
304
731 }-
732 wb->offset += i;-
733 wb->left -= i;-
734 }
executed 186 times by 1 test: end of block
Executed by:
  • ssltest
186
735}
never executed: end of block
0
736int-
737ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek)-
738{-
739 void (*cb)(const SSL *ssl, int type2, int val) = -
740 ((void *)0)-
741 ;-
742 int al, i, j, ret, rrcount = 0;-
743 unsigned int n;-
744 SSL3_RECORD *rr;-
745-
746 if (s->s3->rbuf.buf ==
s->s3->rbuf.buf == ((void *)0)Description
TRUEevaluated 24 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4438 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
24-4438
747 ((void *)0)
s->s3->rbuf.buf == ((void *)0)Description
TRUEevaluated 24 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4438 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
24-4438
748 )-
749 if (!ssl3_setup_read_buffer(s)
!ssl3_setup_read_buffer(s)Description
TRUEnever evaluated
FALSEevaluated 24 times by 1 test
Evaluated by:
  • ssltest
)
0-24
750 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
751-
752 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEevaluated 4462 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-4462
753 SSL_error_internal(s, (4|64), __FILE__, 909);-
754 return
never executed: return -1;
-1;
never executed: return -1;
0
755 }-
756-
757 if ((type
typeDescription
TRUEevaluated 4462 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
&& type != 23
type != 23Description
TRUEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1554 times by 1 test
Evaluated by:
  • ssltest
&&
0-4462
758 type != 22
type != 22Description
TRUEnever evaluated
FALSEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) ||
0-2908
759 (peek
peekDescription
TRUEnever evaluated
FALSEevaluated 4462 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& (
(type != 23)Description
TRUEnever evaluated
FALSEnever evaluated
type != 23)
(type != 23)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0-4462
760 SSL_error_internal(s, (4|64), __FILE__, 916);-
761 return
never executed: return -1;
-1;
never executed: return -1;
0
762 }-
763-
764 if ((
(type == 22)Description
TRUEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1554 times by 1 test
Evaluated by:
  • ssltest
type == 22)
(type == 22)Description
TRUEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1554 times by 1 test
Evaluated by:
  • ssltest
&&
1554-2908
765 ((
((s->s3->inter...gment_len > 0)Description
TRUEnever evaluated
FALSEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
s->s3->internal)->handshake_fragment_len > 0)
((s->s3->inter...gment_len > 0)Description
TRUEnever evaluated
FALSEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-2908
766-
767 unsigned char *src = (s->s3->internal)->handshake_fragment;-
768 unsigned char *dst = buf;-
769 unsigned int k;-
770-
771-
772 n = 0;-
773 while ((
(len > 0)Description
TRUEnever evaluated
FALSEnever evaluated
len > 0)
(len > 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((s->s3->inter...gment_len > 0)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment_len > 0)
((s->s3->inter...gment_len > 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
774 *dst++ = *src++;-
775 len--;-
776 (s->s3->internal)->handshake_fragment_len--;-
777 n++;-
778 }
never executed: end of block
0
779-
780 for (k = 0; k < (s->s3->internal)->handshake_fragment_len
k < (s->s3->in...e_fragment_lenDescription
TRUEnever evaluated
FALSEnever evaluated
; k++)
0
781 (
never executed: (s->s3->internal)->handshake_fragment[k] = *src++;
s->s3->internal)->handshake_fragment[k] = *src++;
never executed: (s->s3->internal)->handshake_fragment[k] = *src++;
0
782 return
never executed: return n;
n;
never executed: return n;
0
783 }-
784-
785-
786-
787-
788-
789 if (!s->internal->in_handshake
!s->internal->in_handshakeDescription
TRUEevaluated 1554 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 2908 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
&& (
(SSL_state((s)...x1000|0x2000))Description
TRUEevaluated 1200 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 354 times by 1 test
Evaluated by:
  • ssltest
SSL_state((s))&(0x1000|0x2000))
(SSL_state((s)...x1000|0x2000))Description
TRUEevaluated 1200 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 354 times by 1 test
Evaluated by:
  • ssltest
) {
354-2908
790-
791 i = s->internal->handshake_func(s);-
792 if (i < 0
i < 0Description
TRUEevaluated 1176 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 24 times by 1 test
Evaluated by:
  • ssltest
)
24-1176
793 return
executed 1176 times by 1 test: return (i);
Executed by:
  • ssltest
(i);
executed 1176 times by 1 test: return (i);
Executed by:
  • ssltest
1176
794 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEevaluated 24 times by 1 test
Evaluated by:
  • ssltest
) {
0-24
795 SSL_error_internal(s, 229, __FILE__, 951);-
796 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
797 }-
798 }
executed 24 times by 1 test: end of block
Executed by:
  • ssltest
24
799-
800start:
code before this statement executed 3286 times by 4 tests: start:
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
3286
801 if (rrcount++ >= 3
rrcount++ >= 3Description
TRUEnever evaluated
FALSEevaluated 3390 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
) {
0-3390
802 ssl_force_want_read(s);-
803 return
never executed: return -1;
-1;
never executed: return -1;
0
804 }-
805-
806 s->internal->rwstate = 1;-
807-
808-
809-
810-
811-
812-
813-
814 rr = &((s->s3->internal)->rrec);-
815-
816-
817 if ((
(rr->length == 0)Description
TRUEevaluated 2152 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1238 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
rr->length == 0)
(rr->length == 0)Description
TRUEevaluated 2152 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 1238 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
|| (
(s->internal->rstate == 0xF1)Description
TRUEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 412 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
s->internal->rstate == 0xF1)
(s->internal->rstate == 0xF1)Description
TRUEevaluated 826 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 412 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
412-2152
818 ret = ssl3_get_record(s);-
819 if (ret <= 0
ret <= 0Description
TRUEevaluated 2314 times by 4 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 664 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
664-2314
820 return
executed 2314 times by 4 tests: return (ret);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
(ret);
executed 2314 times by 4 tests: return (ret);
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlstest
2314
821 }
executed 664 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
664
822-
823-
824-
825 if ((
(s->s3->intern...ge_cipher_specDescription
TRUEevaluated 208 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 868 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
s->s3->internal)->change_cipher_spec
(s->s3->intern...ge_cipher_specDescription
TRUEevaluated 208 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 868 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
208-868
826-
827 && (
(rr->type != 22)Description
TRUEnever evaluated
FALSEevaluated 208 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
rr->type != 22)
(rr->type != 22)Description
TRUEnever evaluated
FALSEevaluated 208 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-208
828 al = 10;-
829 SSL_error_internal(s, 145, __FILE__, 993);-
830 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
831 }-
832-
833-
834-
835 if (s->internal->shutdown & 2
s->internal->shutdown & 2Description
TRUEnever evaluated
FALSEevaluated 1076 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-1076
836 rr->length = 0;-
837 s->internal->rwstate = 1;-
838 return
never executed: return (0);
(0);
never executed: return (0);
0
839 }-
840-
841-
842-
843 if (type == rr->type
type == rr->typeDescription
TRUEevaluated 972 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
104-972
844-
845-
846 if ((
(SSL_state((s)...x1000|0x2000))Description
TRUEevaluated 876 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 96 times by 1 test
Evaluated by:
  • ssltest
SSL_state((s))&(0x1000|0x2000))
(SSL_state((s)...x1000|0x2000))Description
TRUEevaluated 876 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 96 times by 1 test
Evaluated by:
  • ssltest
&& (
(type == 23)Description
TRUEnever evaluated
FALSEevaluated 876 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
type == 23)
(type == 23)Description
TRUEnever evaluated
FALSEevaluated 876 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
&&
0-876
847 (
(s->enc_read_c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->enc_read_ctx ==
(s->enc_read_c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
848 ((void *)0)
(s->enc_read_c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
849 )
(s->enc_read_c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
850 al = 10;-
851 SSL_error_internal(s, 100, __FILE__, 1013);-
852 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
853 }-
854-
855 if (len <= 0
len <= 0Description
TRUEnever evaluated
FALSEevaluated 972 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-972
856 return
never executed: return (len);
(len);
never executed: return (len);
0
857-
858 if ((
(unsigned int)len > rr->lengthDescription
TRUEevaluated 96 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 876 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
unsigned int)len > rr->length
(unsigned int)len > rr->lengthDescription
TRUEevaluated 96 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 876 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
96-876
859 n = rr->length;
executed 96 times by 1 test: n = rr->length;
Executed by:
  • ssltest
96
860 else-
861 n = (unsigned int)len;
executed 876 times by 3 tests: n = (unsigned int)len;
Executed by:
  • servertest
  • ssltest
  • tlstest
876
862-
863 memcpy(buf, &(rr->data[rr->off]), n);-
864 if (!peek
!peekDescription
TRUEevaluated 972 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-972
865 memset(&(rr->data[rr->off]), 0, n);-
866 rr->length -= n;-
867 rr->off += n;-
868 if (rr->length == 0
rr->length == 0Description
TRUEevaluated 560 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 412 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
412-560
869 s->internal->rstate = 0xF0;-
870 rr->off = 0;-
871 if (s->internal->mode & 0x00000010L
s->internal->m... & 0x00000010LDescription
TRUEnever evaluated
FALSEevaluated 560 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
&&
0-560
872 s->s3->rbuf.left == 0
s->s3->rbuf.left == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
873 ssl3_release_read_buffer(s);
never executed: ssl3_release_read_buffer(s);
0
874 }
executed 560 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
560
875 }
executed 972 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
972
876 return
executed 972 times by 3 tests: return (n);
Executed by:
  • servertest
  • ssltest
  • tlstest
(n);
executed 972 times by 3 tests: return (n);
Executed by:
  • servertest
  • ssltest
  • tlstest
972
877 }-
878-
879-
880-
881-
882-
883 {-
884-
885-
886-
887-
888-
889 unsigned int dest_maxlen = 0;-
890 unsigned char *dest = -
891 ((void *)0)-
892 ;-
893 unsigned int *dest_len = -
894 ((void *)0)-
895 ;-
896-
897 if (rr->type == 22
rr->type == 22Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
898 dest_maxlen = sizeof (s->s3->internal)->handshake_fragment;-
899 dest = (s->s3->internal)->handshake_fragment;-
900 dest_len = &(s->s3->internal)->handshake_fragment_len;-
901 }
never executed: end of block
else if (rr->type == 21
rr->type == 21Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
902 dest_maxlen = sizeof (s->s3->internal)->alert_fragment;-
903 dest = (s->s3->internal)->alert_fragment;-
904 dest_len = &(s->s3->internal)->alert_fragment_len;-
905 }
never executed: end of block
0
906 if (dest_maxlen > 0
dest_maxlen > 0Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
907-
908 n = dest_maxlen - *dest_len;-
909 if (rr->length < n
rr->length < nDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
910 n = rr->length;
never executed: n = rr->length;
0
911-
912-
913 while (n-- > 0
n-- > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
914 dest[(*dest_len)++] = rr->data[rr->off++];-
915 rr->length--;-
916 }
never executed: end of block
0
917-
918 if (*
*dest_len < dest_maxlenDescription
TRUEnever evaluated
FALSEnever evaluated
dest_len < dest_maxlen
*dest_len < dest_maxlenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
919 goto
never executed: goto start;
start;
never executed: goto start;
0
920 }
never executed: end of block
0
921 }-
922-
923-
924-
925-
926-
927-
928 if ((
(!s->server)Description
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
!s->server)
(!s->server)Description
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& ((
((s->s3->inter...ment_len >= 4)Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->handshake_fragment_len >= 4)
((s->s3->inter...ment_len >= 4)Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
0-52
929 ((
((s->s3->inter...gment[0] == 0)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment[0] == 0)
((s->s3->inter...gment[0] == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
930 (
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->session !=
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
931 ((void *)0)
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
932 )
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->session->cipher !=
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
933 ((void *)0)
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
934 )
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
935 (s->s3->internal)->handshake_fragment_len = 0;-
936-
937 if (((
((s->s3->inter...gment[1] != 0)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment[1] != 0)
((s->s3->inter...gment[1] != 0)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
938 ((
((s->s3->inter...gment[2] != 0)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment[2] != 0)
((s->s3->inter...gment[2] != 0)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
939 ((
((s->s3->inter...gment[3] != 0)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment[3] != 0)
((s->s3->inter...gment[3] != 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
940 al = 50;-
941 SSL_error_internal(s, 105, __FILE__, 1095);-
942 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
943 }-
944-
945 if (s->internal->msg_callback
s->internal->msg_callbackDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
946 s->internal->msg_callback(0, s->version, 22,
never executed: s->internal->msg_callback(0, s->version, 22, (s->s3->internal)->handshake_fragment, 4, s, s->internal->msg_callback_arg);
0
947 (s->s3->internal)->handshake_fragment, 4, s,
never executed: s->internal->msg_callback(0, s->version, 22, (s->s3->internal)->handshake_fragment, 4, s, s->internal->msg_callback_arg);
0
948 s->internal->msg_callback_arg);
never executed: s->internal->msg_callback(0, s->version, 22, (s->s3->internal)->handshake_fragment, 4, s, s->internal->msg_callback_arg);
0
949-
950 if ((
(SSL_state((s)) == 0x03)Description
TRUEnever evaluated
FALSEnever evaluated
SSL_state((s)) == 0x03)
(SSL_state((s)) == 0x03)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
951 !(s->s3->flags & 0x0001)
!(s->s3->flags & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
952 !(s->s3->internal)->renegotiate
!(s->s3->inter...)->renegotiateDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
953 ssl3_renegotiate(s);-
954 if (ssl3_renegotiate_check(s)
ssl3_renegotiate_check(s)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
955 i = s->internal->handshake_func(s);-
956 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
957 return
never executed: return (i);
(i);
never executed: return (i);
0
958 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
959 SSL_error_internal(s, 229, __FILE__, 1113);-
960 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
961 }-
962-
963 if (!(s->internal->mode & 0x00000004L)
!(s->internal-...& 0x00000004L)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
964 if (s->s3->rbuf.left == 0
s->s3->rbuf.left == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
965-
966-
967-
968-
969-
970 ssl_force_want_read(s);-
971 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
972 }-
973 }
never executed: end of block
0
974 }
never executed: end of block
0
975 }
never executed: end of block
0
976-
977-
978 goto
never executed: goto start;
start;
never executed: goto start;
0
979 }-
980-
981 if (s->server
s->serverDescription
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& (
(SSL_state((s)) == 0x03)Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
SSL_state((s)) == 0x03)
(SSL_state((s)) == 0x03)Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
0-52
982 (
(s->s3->intern...gment_len >= 4Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment_len >= 4
(s->s3->intern...gment_len >= 4Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
983 (
(s->s3->intern...agment[0] == 1Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment[0] == 1
(s->s3->intern...agment[0] == 1Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
984 (
(s->internal->...& 0x00020000L)Description
TRUEnever evaluated
FALSEnever evaluated
s->internal->options & 0x00020000L)
(s->internal->...& 0x00020000L)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
985 al = 100;-
986 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
987 }-
988-
989-
990-
991-
992 if (s->server
s->serverDescription
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
52
993 (
(SSL_state((s)) == 0x03)Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
SSL_state((s)) == 0x03)
(SSL_state((s)) == 0x03)Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
0-52
994 !(s->s3->internal)->send_connection_binding
!(s->s3->inter...ection_bindingDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
995 ((
((s->s3->inter...ment_len >= 4)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment_len >= 4)
((s->s3->inter...ment_len >= 4)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
996 ((
((s->s3->inter...gment[0] == 1)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment[0] == 1)
((s->s3->inter...gment[0] == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
997 (
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->session !=
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
998 ((void *)0)
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
999 )
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->session->cipher !=
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
1000 ((void *)0)
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
1001 )
(s->session->c... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1002-
1003 rr->length = 0;-
1004 ssl3_send_alert(s, 1, 100);-
1005 goto
never executed: goto start;
start;
never executed: goto start;
0
1006 }-
1007 if ((
(s->s3->intern...gment_len >= 2Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->alert_fragment_len >= 2
(s->s3->intern...gment_len >= 2Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
1008 int alert_level = (s->s3->internal)->alert_fragment[0];-
1009 int alert_descr = (s->s3->internal)->alert_fragment[1];-
1010-
1011 (s->s3->internal)->alert_fragment_len = 0;-
1012-
1013 if (s->internal->msg_callback
s->internal->msg_callbackDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1014 s->internal->msg_callback(0, s->version, 21,
never executed: s->internal->msg_callback(0, s->version, 21, (s->s3->internal)->alert_fragment, 2, s, s->internal->msg_callback_arg);
0
1015 (s->s3->internal)->alert_fragment, 2, s, s->internal->msg_callback_arg);
never executed: s->internal->msg_callback(0, s->version, 21, (s->s3->internal)->alert_fragment, 2, s, s->internal->msg_callback_arg);
0
1016-
1017 if (s->internal->info_callback !=
s->internal->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1018 ((void *)0)
s->internal->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1019 )-
1020 cb = s->internal->info_callback;
never executed: cb = s->internal->info_callback;
0
1021 else if (s->ctx->internal->info_callback !=
s->ctx->intern...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1022 ((void *)0)
s->ctx->intern...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1023 )-
1024 cb = s->ctx->internal->info_callback;
never executed: cb = s->ctx->internal->info_callback;
0
1025-
1026 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1027 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1028 ) {-
1029 j = (alert_level << 8) | alert_descr;-
1030 cb(s, (0x4000|0x04), j);-
1031 }
never executed: end of block
0
1032-
1033 if (alert_level == 1
alert_level == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1034 (s->s3->internal)->warn_alert = alert_descr;-
1035 if (alert_descr == 0
alert_descr == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1036 s->internal->shutdown |= 2;-
1037 return
never executed: return (0);
(0);
never executed: return (0);
0
1038 }-
1039 else if (alert_descr == 100
alert_descr == 100Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1040 al = 40;-
1041 SSL_error_internal(s, 339, __FILE__, 1194);-
1042 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1043 }-
1044 }
never executed: end of block
else if (alert_level == 2
alert_level == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1045 s->internal->rwstate = 1;-
1046 (s->s3->internal)->fatal_alert = alert_descr;-
1047 SSL_error_internal(s, 1000 + alert_descr, __FILE__, 1200);-
1048 ERR_asprintf_error_data("SSL alert number %d",-
1049 alert_descr);-
1050 s->internal->shutdown |= 2;-
1051 SSL_CTX_remove_session(s->ctx, s->session);-
1052 return
never executed: return (0);
(0);
never executed: return (0);
0
1053 } else {-
1054 al = 47;-
1055 SSL_error_internal(s, 246, __FILE__, 1208);-
1056 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1057 }-
1058-
1059 goto
never executed: goto start;
start;
never executed: goto start;
0
1060 }-
1061-
1062 if (s->internal->shutdown & 1
s->internal->shutdown & 1Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
1063-
1064 s->internal->rwstate = 1;-
1065 rr->length = 0;-
1066 return
never executed: return (0);
(0);
never executed: return (0);
0
1067 }-
1068-
1069 if (rr->type == 20
rr->type == 20Description
TRUEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-104
1070-
1071-
1072 if ((
(rr->length != 1)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
rr->length != 1)
(rr->length != 1)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
|| (
(rr->off != 0)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
rr->off != 0)
(rr->off != 0)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
0-104
1073 (
(rr->data[0] != 1)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
rr->data[0] != 1)
(rr->data[0] != 1)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
1074 al = 47;-
1075 SSL_error_internal(s, 103, __FILE__, 1228);-
1076 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1077 }-
1078-
1079-
1080 if ((
(s->s3->intern...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->hs.new_cipher ==
(s->s3->intern...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-104
1081 ((void *)0)
(s->s3->intern...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-104
1082 ) {-
1083 al = 10;-
1084 SSL_error_internal(s, 133, __FILE__, 1235);-
1085 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1086 }-
1087-
1088-
1089 if (!(s->s3->flags & 0x0080)
!(s->s3->flags & 0x0080)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
1090 al = 10;-
1091 SSL_error_internal(s, 133, __FILE__, 1242);-
1092 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1093 }-
1094 s->s3->flags &= ~0x0080;-
1095-
1096 rr->length = 0;-
1097-
1098 if (s->internal->msg_callback
s->internal->msg_callbackDescription
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-104
1099 s->internal->msg_callback(0, s->version,-
1100 20, rr->data, 1, s,-
1101 s->internal->msg_callback_arg);-
1102 }
never executed: end of block
0
1103-
1104 (s->s3->internal)->change_cipher_spec = 1;-
1105 if (!ssl3_do_change_cipher_spec(s)
!ssl3_do_change_cipher_spec(s)Description
TRUEnever evaluated
FALSEevaluated 104 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-104
1106 goto
never executed: goto err;
err;
never executed: goto err;
0
1107 else-
1108 goto
executed 104 times by 2 tests: goto start;
Executed by:
  • ssltest
  • tlstest
start;
executed 104 times by 2 tests: goto start;
Executed by:
  • ssltest
  • tlstest
104
1109 }-
1110-
1111-
1112 if (((
((s->s3->inter...ment_len >= 4)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->handshake_fragment_len >= 4)
((s->s3->inter...ment_len >= 4)Description
TRUEnever evaluated
FALSEnever evaluated
&& !s->internal->in_handshake
!s->internal->in_handshakeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1113 if ((((
(((s->s3->inte...0FFF) == 0x03)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state&0x0FFF) == 0x03)
(((s->s3->inte...0FFF) == 0x03)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1114 !(s->s3->flags & 0x0001)
!(s->s3->flags & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1115 (s->s3->internal)->hs.state = s->server
s->serverDescription
TRUEnever evaluated
FALSEnever evaluated
? 0x2000 : 0x1000;
0
1116 s->internal->renegotiate = 1;-
1117 s->internal->new_session = 1;-
1118 }
never executed: end of block
0
1119 i = s->internal->handshake_func(s);-
1120 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1121 return
never executed: return (i);
(i);
never executed: return (i);
0
1122 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1123 SSL_error_internal(s, 229, __FILE__, 1274);-
1124 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1125 }-
1126-
1127 if (!(s->internal->mode & 0x00000004L)
!(s->internal-...& 0x00000004L)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1128 if (s->s3->rbuf.left == 0
s->s3->rbuf.left == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1129-
1130-
1131-
1132-
1133 ssl_force_want_read(s);-
1134 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1135 }-
1136 }
never executed: end of block
0
1137 goto
never executed: goto start;
start;
never executed: goto start;
0
1138 }-
1139-
1140 switch (rr->type) {-
1141 default
never executed: default:
:
never executed: default:
0
1142-
1143-
1144-
1145-
1146 if (s->version >= 0x0301
s->version >= 0x0301Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1147 s->version <= 0x0302
s->version <= 0x0302Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1148 rr->length = 0;-
1149 goto
never executed: goto start;
start;
never executed: goto start;
0
1150 }-
1151 al = 10;-
1152 SSL_error_internal(s, 245, __FILE__, 1303);-
1153 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1154 case
never executed: case 20:
20:
never executed: case 20:
0
1155 case
never executed: case 21:
21:
never executed: case 21:
0
1156 case
never executed: case 22:
22:
never executed: case 22:
0
1157-
1158-
1159-
1160 al = 10;-
1161 SSL_error_internal(s, (4|64), __FILE__, 1312);-
1162 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1163 case
never executed: case 23:
23:
never executed: case 23:
0
1164-
1165-
1166-
1167-
1168-
1169-
1170-
1171 if ((
(s->s3->intern..._read_app_dataDescription
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->in_read_app_data
(s->s3->intern..._read_app_dataDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
1172 ((
((s->s3->inter...tiations != 0)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->total_renegotiations != 0)
((s->s3->inter...tiations != 0)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1173 ((((
((s->s3->inter...tate & 0x1000)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state & 0x1000)
((s->s3->inter...tate & 0x1000)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1174 ((
((s->s3->inter...0x110|0x1000))Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state >= (0x110|0x1000))
((s->s3->inter...0x110|0x1000))Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1175 ((
((s->s3->inter...0x120|0x1000))Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state <= (0x120|0x1000))
((s->s3->inter...0x120|0x1000))Description
TRUEnever evaluated
FALSEnever evaluated
) ||
0
1176 (((
((s->s3->inter...tate & 0x2000)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state & 0x2000)
((s->s3->inter...tate & 0x2000)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1177 ((
((s->s3->inter...0x120|0x2000))Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state <= (0x120|0x2000))
((s->s3->inter...0x120|0x2000))Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
1178 ((
((s->s3->inter...0x110|0x2000))Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state >= (0x110|0x2000))
((s->s3->inter...0x110|0x2000))Description
TRUEnever evaluated
FALSEnever evaluated
))) {
0
1179 (s->s3->internal)->in_read_app_data = 2;-
1180 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1181 } else {-
1182 al = 10;-
1183 SSL_error_internal(s, 245, __FILE__, 1334);-
1184 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1185 }-
1186 }-
1187-
1188-
1189f_err:
code before this statement never executed: f_err:
0
1190 ssl3_send_alert(s, 2, al);-
1191err:
code before this statement never executed: err:
0
1192 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1193}-
1194-
1195int-
1196ssl3_do_change_cipher_spec(SSL *s)-
1197{-
1198 int i;-
1199 const char *sender;-
1200 int slen;-
1201-
1202 if ((
(s->s3->intern...state & 0x2000Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->hs.state & 0x2000
(s->s3->intern...state & 0x2000Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
63
1203 i = (0x20|0x01);
executed 63 times by 2 tests: i = (0x20|0x01);
Executed by:
  • ssltest
  • tlstest
63
1204 else-
1205 i = (0x10|0x01);
executed 63 times by 2 tests: i = (0x10|0x01);
Executed by:
  • ssltest
  • tlstest
63
1206-
1207 if ((
(s->s3->intern...== ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->hs.key_block ==
(s->s3->intern...== ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
63
1208 ((void *)0)
(s->s3->intern...== ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
63
1209 ) {-
1210 if (s->session ==
s->session == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
1211 ((void *)0)
s->session == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
1212 || s->session->master_key_length == 0
s->session->ma...ey_length == 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
1213-
1214 SSL_error_internal(s, 133, __FILE__, 1361);-
1215 return
never executed: return (0);
(0);
never executed: return (0);
0
1216 }-
1217-
1218 s->session->cipher = (s->s3->internal)->hs.new_cipher;-
1219 if (!tls1_setup_key_block(s)
!tls1_setup_key_block(s)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
1220 return
never executed: return (0);
(0);
never executed: return (0);
0
1221 }
executed 63 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
63
1222-
1223 if (!tls1_change_cipher_state(s, i)
!tls1_change_c...er_state(s, i)Description
TRUEnever evaluated
FALSEevaluated 126 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-126
1224 return
never executed: return (0);
(0);
never executed: return (0);
0
1225-
1226-
1227-
1228-
1229 if ((
(s->s3->intern...state & 0x1000Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->hs.state & 0x1000
(s->s3->intern...state & 0x1000Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
63
1230 sender = "server finished";-
1231 slen = 15;-
1232 }
executed 63 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else {
63
1233 sender = "client finished";-
1234 slen = 15;-
1235 }
executed 63 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
63
1236-
1237 i = tls1_final_finish_mac(s, sender, slen,-
1238 (s->s3->internal)->tmp.peer_finish_md);-
1239 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEevaluated 126 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-126
1240 SSL_error_internal(s, (4|64), __FILE__, 1387);-
1241 return
never executed: return 0;
0;
never executed: return 0;
0
1242 }-
1243 (s->s3->internal)->tmp.peer_finish_md_len = i;-
1244-
1245 return
executed 126 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 126 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
126
1246}-
1247-
1248int-
1249ssl3_send_alert(SSL *s, int level, int desc)-
1250{-
1251-
1252 desc = tls1_alert_code(desc);-
1253 if (desc < 0
desc < 0Description
TRUEnever evaluated
FALSEevaluated 126 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-126
1254 return
never executed: return -1;
-1;
never executed: return -1;
0
1255-
1256 if ((
(level == 2)Description
TRUEnever evaluated
FALSEevaluated 126 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
level == 2)
(level == 2)Description
TRUEnever evaluated
FALSEevaluated 126 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& (
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->session !=
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0-126
1257 ((void *)0)
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
1258 )
(s->session != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1259 SSL_CTX_remove_session(s->ctx, s->session);
never executed: SSL_CTX_remove_session(s->ctx, s->session);
0
1260-
1261 s->s3->alert_dispatch = 1;-
1262 s->s3->send_alert[0] = level;-
1263 s->s3->send_alert[1] = desc;-
1264 if (s->s3->wbuf.left == 0
s->s3->wbuf.left == 0Description
TRUEevaluated 126 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-126
1265 return
executed 126 times by 2 tests: return s->method->ssl_dispatch_alert(s);
Executed by:
  • ssltest
  • tlstest
s->method->ssl_dispatch_alert(s);
executed 126 times by 2 tests: return s->method->ssl_dispatch_alert(s);
Executed by:
  • ssltest
  • tlstest
126
1266-
1267-
1268-
1269 return
never executed: return -1;
-1;
never executed: return -1;
0
1270}-
1271-
1272int-
1273ssl3_dispatch_alert(SSL *s)-
1274{-
1275 int i, j;-
1276 void (*cb)(const SSL *ssl, int type, int val) = -
1277 ((void *)0)-
1278 ;-
1279-
1280 s->s3->alert_dispatch = 0;-
1281 i = do_ssl3_write(s, 21, &s->s3->send_alert[0], 2, 0);-
1282 if (i <= 0
i <= 0Description
TRUEevaluated 96 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
) {
8-96
1283 s->s3->alert_dispatch = 1;-
1284 }
executed 96 times by 1 test: end of block
Executed by:
  • ssltest
else {
96
1285-
1286-
1287-
1288 if (s->s3->send_alert[0] == 2
s->s3->send_alert[0] == 2Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
)
0-8
1289 (
never executed: (void)(int)BIO_ctrl(s->wbio,11,0, ((void *)0) );
void)(int)BIO_ctrl(s->wbio,11,0,
never executed: (void)(int)BIO_ctrl(s->wbio,11,0, ((void *)0) );
0
1290 ((void *)0)
never executed: (void)(int)BIO_ctrl(s->wbio,11,0, ((void *)0) );
0
1291 );
never executed: (void)(int)BIO_ctrl(s->wbio,11,0, ((void *)0) );
0
1292-
1293 if (s->internal->msg_callback
s->internal->msg_callbackDescription
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
)
0-8
1294 s->internal->msg_callback(1, s->version, 21,
never executed: s->internal->msg_callback(1, s->version, 21, s->s3->send_alert, 2, s, s->internal->msg_callback_arg);
0
1295 s->s3->send_alert, 2, s, s->internal->msg_callback_arg);
never executed: s->internal->msg_callback(1, s->version, 21, s->s3->send_alert, 2, s, s->internal->msg_callback_arg);
0
1296-
1297 if (s->internal->info_callback !=
s->internal->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
0-8
1298 ((void *)0)
s->internal->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
0-8
1299 )-
1300 cb = s->internal->info_callback;
never executed: cb = s->internal->info_callback;
0
1301 else if (s->ctx->internal->info_callback !=
s->ctx->intern...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
0-8
1302 ((void *)0)
s->ctx->intern...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
0-8
1303 )-
1304 cb = s->ctx->internal->info_callback;
never executed: cb = s->ctx->internal->info_callback;
0
1305-
1306 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
0-8
1307 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • tlstest
0-8
1308 ) {-
1309 j = (s->s3->send_alert[0]<<8)|s->s3->send_alert[1];-
1310 cb(s, (0x4000|0x08), j);-
1311 }
never executed: end of block
0
1312 }
executed 8 times by 1 test: end of block
Executed by:
  • tlstest
8
1313 return
executed 104 times by 2 tests: return (i);
Executed by:
  • ssltest
  • tlstest
(i);
executed 104 times by 2 tests: return (i);
Executed by:
  • ssltest
  • tlstest
104
1314}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2