OpenCoverage

d1_enc.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/d1_enc.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5int-
6dtls1_enc(SSL *s, int send)-
7{-
8 SSL3_RECORD *rec;-
9 EVP_CIPHER_CTX *ds;-
10 unsigned long l;-
11 int bs, i, j, k, mac_size = 0;-
12 const EVP_CIPHER *enc;-
13-
14 if (send
sendDescription
TRUEevaluated 176 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 153 times by 1 test
Evaluated by:
  • ssltest
) {
153-176
15 if (EVP_MD_CTX_md(s->internal->write_hash)
EVP_MD_CTX_md(...l->write_hash)Description
TRUEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 110 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
) {
66-110
16 mac_size = EVP_MD_size(EVP_MD_CTX_md(s->internal->write_hash));-
17 if (mac_size < 0
mac_size < 0Description
TRUEnever evaluated
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
)
0-66
18 return
never executed: return -1;
-1;
never executed: return -1;
0
19 }
executed 66 times by 1 test: end of block
Executed by:
  • ssltest
66
20 ds = s->internal->enc_write_ctx;-
21 rec = &((s->s3->internal)->wrec);-
22 if (s->internal->enc_write_ctx ==
s->internal->e...== ((void *)0)Description
TRUEevaluated 110 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
66-110
23 ((void *)0)
s->internal->e...== ((void *)0)Description
TRUEevaluated 110 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
66-110
24 )-
25 enc =
executed 110 times by 2 tests: enc = ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
110
26 ((void *)0)
executed 110 times by 2 tests: enc = ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
110
27 ;
executed 110 times by 2 tests: enc = ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
110
28 else {-
29 enc = EVP_CIPHER_CTX_cipher(s->internal->enc_write_ctx);-
30 if (rec->data != rec->input
rec->data != rec->inputDescription
TRUEnever evaluated
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
) {
0-66
31-
32-
33-
34-
35-
36 }
never executed: end of block
else if (EVP_CIPHER_block_size(ds->cipher) > 1
EVP_CIPHER_blo...s->cipher) > 1Description
TRUEevaluated 54 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 12 times by 1 test
Evaluated by:
  • ssltest
) {
0-54
37 arc4random_buf(rec->input,-
38 EVP_CIPHER_block_size(ds->cipher));-
39 }
executed 54 times by 1 test: end of block
Executed by:
  • ssltest
54
40 }
executed 66 times by 1 test: end of block
Executed by:
  • ssltest
66
41 } else {-
42 if (EVP_MD_CTX_md(s->read_hash)
EVP_MD_CTX_md(s->read_hash)Description
TRUEevaluated 44 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 109 times by 1 test
Evaluated by:
  • ssltest
) {
44-109
43 mac_size = EVP_MD_size(EVP_MD_CTX_md(s->read_hash));-
44 (void)((mac_size >= 0) ? 0 : (OpenSSLDie(__FILE__, 167, "mac_size >= 0"),1));-
45 }
executed 44 times by 1 test: end of block
Executed by:
  • ssltest
44
46 ds = s->enc_read_ctx;-
47 rec = &((s->s3->internal)->rrec);-
48 if (s->enc_read_ctx ==
s->enc_read_ctx == ((void *)0)Description
TRUEevaluated 109 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 44 times by 1 test
Evaluated by:
  • ssltest
44-109
49 ((void *)0)
s->enc_read_ctx == ((void *)0)Description
TRUEevaluated 109 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 44 times by 1 test
Evaluated by:
  • ssltest
44-109
50 )-
51 enc =
executed 109 times by 1 test: enc = ((void *)0) ;
Executed by:
  • ssltest
109
52 ((void *)0)
executed 109 times by 1 test: enc = ((void *)0) ;
Executed by:
  • ssltest
109
53 ;
executed 109 times by 1 test: enc = ((void *)0) ;
Executed by:
  • ssltest
109
54 else-
55 enc = EVP_CIPHER_CTX_cipher(s->enc_read_ctx);
executed 44 times by 1 test: enc = EVP_CIPHER_CTX_cipher(s->enc_read_ctx);
Executed by:
  • ssltest
44
56 }-
57-
58-
59 if ((
(s->session == ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 318 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
s->session ==
(s->session == ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 318 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
11-318
60 ((void *)0)
(s->session == ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 318 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
11-318
61 )
(s->session == ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 318 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
|| (
(ds == ((void *)0) )Description
TRUEevaluated 208 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
ds ==
(ds == ((void *)0) )Description
TRUEevaluated 208 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
11-318
62 ((void *)0)
(ds == ((void *)0) )Description
TRUEevaluated 208 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
110-208
63 )
(ds == ((void *)0) )Description
TRUEevaluated 208 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
|| (
(enc == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
enc ==
(enc == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
0-208
64 ((void *)0)
(enc == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
0-110
65 )
(enc == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 110 times by 1 test
Evaluated by:
  • ssltest
) {
0-110
66 memmove(rec->data, rec->input, rec->length);-
67 rec->input = rec->data;-
68 }
executed 219 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
else {
219
69 l = rec->length;-
70 bs = EVP_CIPHER_block_size(ds->cipher);-
71-
72 if ((
(bs != 1)Description
TRUEevaluated 90 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 20 times by 1 test
Evaluated by:
  • ssltest
bs != 1)
(bs != 1)Description
TRUEevaluated 90 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 20 times by 1 test
Evaluated by:
  • ssltest
&& send
sendDescription
TRUEevaluated 54 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
) {
20-90
73 i = bs - ((int)l % bs);-
74-
75-
76-
77-
78 j = i - 1;-
79 for (k = (int)l; k < (int)(l + i)
k < (int)(l + i)Description
TRUEevaluated 436 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 54 times by 1 test
Evaluated by:
  • ssltest
; k++)
54-436
80 rec->input[k] = j;
executed 436 times by 1 test: rec->input[k] = j;
Executed by:
  • ssltest
436
81 l += i;-
82 rec->length += i;-
83 }
executed 54 times by 1 test: end of block
Executed by:
  • ssltest
54
84-
85-
86 if (!send
!sendDescription
TRUEevaluated 44 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 66 times by 1 test
Evaluated by:
  • ssltest
) {
44-66
87 if (l == 0
l == 0Description
TRUEnever evaluated
FALSEevaluated 44 times by 1 test
Evaluated by:
  • ssltest
|| l % bs != 0
l % bs != 0Description
TRUEnever evaluated
FALSEevaluated 44 times by 1 test
Evaluated by:
  • ssltest
)
0-44
88 return
never executed: return 0;
0;
never executed: return 0;
0
89 }
executed 44 times by 1 test: end of block
Executed by:
  • ssltest
44
90-
91 EVP_Cipher(ds, rec->data, rec->input, l);-
92-
93-
94 if ((
(bs != 1)Description
TRUEevaluated 90 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 20 times by 1 test
Evaluated by:
  • ssltest
bs != 1)
(bs != 1)Description
TRUEevaluated 90 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 20 times by 1 test
Evaluated by:
  • ssltest
&& !send
!sendDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 54 times by 1 test
Evaluated by:
  • ssltest
)
20-90
95 return
executed 36 times by 1 test: return tls1_cbc_remove_padding(s, rec, bs, mac_size);
Executed by:
  • ssltest
tls1_cbc_remove_padding(s, rec, bs, mac_size);
executed 36 times by 1 test: return tls1_cbc_remove_padding(s, rec, bs, mac_size);
Executed by:
  • ssltest
36
96 }
executed 74 times by 1 test: end of block
Executed by:
  • ssltest
74
97 return
executed 293 times by 2 tests: return (1);
Executed by:
  • clienttest
  • ssltest
(1);
executed 293 times by 2 tests: return (1);
Executed by:
  • clienttest
  • ssltest
293
98}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2