OpenCoverage

ssl_asn1.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_asn1.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4static uint64_t-
5time_max(void)-
6{-
7 if (sizeof(time_t) == sizeof(int32_t)
sizeof(time_t)...izeof(int32_t)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
8 return
never executed: return (2147483647) ;
never executed: return (2147483647) ;
0
9 (2147483647)
never executed: return (2147483647) ;
0
10 ;
never executed: return (2147483647) ;
0
11 if (sizeof(time_t) == sizeof(int64_t)
sizeof(time_t)...izeof(int64_t)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
)
0-3
12 return
executed 3 times by 1 test: return (9223372036854775807L) ;
Executed by:
  • asn1test
executed 3 times by 1 test: return (9223372036854775807L) ;
Executed by:
  • asn1test
3
13 (9223372036854775807L)
executed 3 times by 1 test: return (9223372036854775807L) ;
Executed by:
  • asn1test
3
14 ;
executed 3 times by 1 test: return (9223372036854775807L) ;
Executed by:
  • asn1test
3
15 return
never executed: return 0;
0;
never executed: return 0;
0
16}-
17-
18static int-
19SSL_SESSION_encode(SSL_SESSION *s, unsigned char **out, size_t *out_len,-
20 int ticket_encoding)-
21{-
22 CBB cbb, session, cipher_suite, session_id, master_key, time, timeout;-
23 CBB peer_cert, sidctx, verify_result, hostname, lifetime, ticket, value;-
24 unsigned char *peer_cert_bytes = -
25 ((void *)0)-
26 ;-
27 int len, rv = 0;-
28 uint16_t cid;-
29-
30 if (!CBB_init(&cbb, 0)
!CBB_init(&cbb, 0)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
31 goto
never executed: goto err;
err;
never executed: goto err;
0
32-
33 if (!CBB_add_asn1(&cbb, &session, (0x00 | 0x20 | 0x10))
!CBB_add_asn1(... 0x20 | 0x10))Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
34 goto
never executed: goto err;
err;
never executed: goto err;
0
35-
36-
37 if (!CBB_add_asn1_uint64(&session, 0x0001)
!CBB_add_asn1_...ssion, 0x0001)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
38 goto
never executed: goto err;
err;
never executed: goto err;
0
39-
40-
41 if (s->ssl_version < 0
s->ssl_version < 0Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
42 goto
never executed: goto err;
err;
never executed: goto err;
0
43 if (!CBB_add_asn1_uint64(&session, s->ssl_version)
!CBB_add_asn1_...->ssl_version)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
44 goto
never executed: goto err;
err;
never executed: goto err;
0
45-
46-
47-
48 cid = (uint16_t)(s->cipher_id & 0xffff);-
49 if (s->cipher !=
s->cipher != ((void *)0)Description
TRUEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
8-59
50 ((void *)0)
s->cipher != ((void *)0)Description
TRUEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
8-59
51 )-
52 cid = ssl3_cipher_get_value(s->cipher);
executed 59 times by 1 test: cid = ssl3_cipher_get_value(s->cipher);
Executed by:
  • ssltest
59
53 if (!CBB_add_asn1(&session, &cipher_suite, (0x00 | 0x00 | 0x4))
!CBB_add_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
54 goto
never executed: goto err;
err;
never executed: goto err;
0
55 if (!CBB_add_u16(&cipher_suite, cid)
!CBB_add_u16(&...er_suite, cid)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
56 goto
never executed: goto err;
err;
never executed: goto err;
0
57-
58-
59 if (!CBB_add_asn1(&session, &session_id, (0x00 | 0x00 | 0x4))
!CBB_add_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
60 goto
never executed: goto err;
err;
never executed: goto err;
0
61 if (!CBB_add_bytes(&session_id, s->session_id,
!CBB_add_bytes...ion_id_length)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
0-67
62 ticket_encoding ? 0 : s->session_id_length)
!CBB_add_bytes...ion_id_length)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
63 goto
never executed: goto err;
err;
never executed: goto err;
0
64-
65-
66 if (!CBB_add_asn1(&session, &master_key, (0x00 | 0x00 | 0x4))
!CBB_add_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
67 goto
never executed: goto err;
err;
never executed: goto err;
0
68 if (!CBB_add_bytes(&master_key, s->master_key, s->master_key_length)
!CBB_add_bytes...er_key_length)Description
TRUEnever evaluated
FALSEevaluated 67 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-67
69 goto
never executed: goto err;
err;
never executed: goto err;
0
70-
71-
72 if (s->time != 0
s->time != 0Description
TRUEevaluated 62 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • asn1test
) {
5-62
73 if (s->time < 0
s->time < 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
1-61
74 goto
executed 1 time by 1 test: goto err;
Executed by:
  • asn1test
err;
executed 1 time by 1 test: goto err;
Executed by:
  • asn1test
1
75 if (!CBB_add_asn1(&session, &time, ((0x20 | 0x80) | 1))
!CBB_add_asn1(... | 0x80) | 1))Description
TRUEnever evaluated
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-61
76 goto
never executed: goto err;
err;
never executed: goto err;
0
77 if (!CBB_add_asn1_uint64(&time, s->time)
!CBB_add_asn1_...time, s->time)Description
TRUEnever evaluated
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-61
78 goto
never executed: goto err;
err;
never executed: goto err;
0
79 }
executed 61 times by 2 tests: end of block
Executed by:
  • asn1test
  • ssltest
61
80-
81-
82 if (s->timeout != 0
s->timeout != 0Description
TRUEevaluated 62 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • asn1test
) {
4-62
83 if (s->timeout < 0
s->timeout < 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
1-61
84 goto
executed 1 time by 1 test: goto err;
Executed by:
  • asn1test
err;
executed 1 time by 1 test: goto err;
Executed by:
  • asn1test
1
85 if (!CBB_add_asn1(&session, &timeout, ((0x20 | 0x80) | 2))
!CBB_add_asn1(... | 0x80) | 2))Description
TRUEnever evaluated
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-61
86 goto
never executed: goto err;
err;
never executed: goto err;
0
87 if (!CBB_add_asn1_uint64(&timeout, s->timeout)
!CBB_add_asn1_...t, s->timeout)Description
TRUEnever evaluated
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-61
88 goto
never executed: goto err;
err;
never executed: goto err;
0
89 }
executed 61 times by 2 tests: end of block
Executed by:
  • asn1test
  • ssltest
61
90-
91-
92 if (s->peer !=
s->peer != ((void *)0)Description
TRUEevaluated 9 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
9-56
93 ((void *)0)
s->peer != ((void *)0)Description
TRUEevaluated 9 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
9-56
94 ) {-
95 if ((
(len = i2d_X50...t_bytes)) <= 0Description
TRUEnever evaluated
FALSEevaluated 9 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
len = i2d_X509(s->peer, &peer_cert_bytes)) <= 0
(len = i2d_X50...t_bytes)) <= 0Description
TRUEnever evaluated
FALSEevaluated 9 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-9
96 goto
never executed: goto err;
err;
never executed: goto err;
0
97 if (!CBB_add_asn1(&session, &peer_cert, ((0x20 | 0x80) | 3))
!CBB_add_asn1(... | 0x80) | 3))Description
TRUEnever evaluated
FALSEevaluated 9 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-9
98 goto
never executed: goto err;
err;
never executed: goto err;
0
99 if (!CBB_add_bytes(&peer_cert, peer_cert_bytes, len)
!CBB_add_bytes...rt_bytes, len)Description
TRUEnever evaluated
FALSEevaluated 9 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-9
100 goto
never executed: goto err;
err;
never executed: goto err;
0
101 }
executed 9 times by 2 tests: end of block
Executed by:
  • asn1test
  • ssltest
9
102-
103-
104-
105 if (!CBB_add_asn1(&session, &sidctx, ((0x20 | 0x80) | 4))
!CBB_add_asn1(... | 0x80) | 4))Description
TRUEnever evaluated
FALSEevaluated 65 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-65
106 goto
never executed: goto err;
err;
never executed: goto err;
0
107 if (!CBB_add_asn1(&sidctx, &value, (0x00 | 0x00 | 0x4))
!CBB_add_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 65 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-65
108 goto
never executed: goto err;
err;
never executed: goto err;
0
109 if (!CBB_add_bytes(&value, s->sid_ctx, s->sid_ctx_length)
!CBB_add_bytes...id_ctx_length)Description
TRUEnever evaluated
FALSEevaluated 65 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-65
110 goto
never executed: goto err;
err;
never executed: goto err;
0
111-
112-
113 if (s->verify_result != 0
s->verify_result != 0Description
TRUEevaluated 3 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
FALSEevaluated 62 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
) {
3-62
114 if (s->verify_result < 0
s->verify_result < 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-3
115 goto
never executed: goto err;
err;
never executed: goto err;
0
116 if (!CBB_add_asn1(&session, &verify_result,
!CBB_add_asn1(... | 0x80) | 5))Description
TRUEnever evaluated
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
0-3
117 ((0x20 | 0x80) | 5))
!CBB_add_asn1(... | 0x80) | 5))Description
TRUEnever evaluated
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-3
118 goto
never executed: goto err;
err;
never executed: goto err;
0
119 if (!CBB_add_asn1_uint64(&verify_result, s->verify_result)
!CBB_add_asn1_...verify_result)Description
TRUEnever evaluated
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-3
120 goto
never executed: goto err;
err;
never executed: goto err;
0
121 }
executed 3 times by 2 tests: end of block
Executed by:
  • asn1test
  • ssltest
3
122-
123-
124 if (s->tlsext_hostname !=
s->tlsext_host...!= ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
2-63
125 ((void *)0)
s->tlsext_host...!= ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
2-63
126 ) {-
127 if (!CBB_add_asn1(&session, &hostname, ((0x20 | 0x80) | 6))
!CBB_add_asn1(... | 0x80) | 6))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
128 goto
never executed: goto err;
err;
never executed: goto err;
0
129 if (!CBB_add_asn1(&hostname, &value, (0x00 | 0x00 | 0x4))
!CBB_add_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
130 goto
never executed: goto err;
err;
never executed: goto err;
0
131 if (!CBB_add_bytes(&value, (const uint8_t *)s->tlsext_hostname,
!CBB_add_bytes...ext_hostname))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
0-2
132 strlen(s->tlsext_hostname))
!CBB_add_bytes...ext_hostname))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
133 goto
never executed: goto err;
err;
never executed: goto err;
0
134 }
executed 2 times by 1 test: end of block
Executed by:
  • asn1test
2
135-
136-
137-
138-
139-
140 if (s->tlsext_tick_lifetime_hint > 0
s->tlsext_tick...etime_hint > 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
) {
2-63
141 if (!CBB_add_asn1(&session, &lifetime, ((0x20 | 0x80) | 9))
!CBB_add_asn1(... | 0x80) | 9))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
142 goto
never executed: goto err;
err;
never executed: goto err;
0
143 if (!CBB_add_asn1_uint64(&lifetime,
!CBB_add_asn1_...lifetime_hint)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
0-2
144 s->tlsext_tick_lifetime_hint)
!CBB_add_asn1_...lifetime_hint)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
145 goto
never executed: goto err;
err;
never executed: goto err;
0
146 }
executed 2 times by 1 test: end of block
Executed by:
  • asn1test
2
147-
148-
149 if (s->tlsext_tick !=
s->tlsext_tick != ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
2-63
150 ((void *)0)
s->tlsext_tick != ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
2-63
151 ) {-
152 if (!CBB_add_asn1(&session, &ticket, ((0x20 | 0x80) | 10))
!CBB_add_asn1(...| 0x80) | 10))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
153 goto
never executed: goto err;
err;
never executed: goto err;
0
154 if (!CBB_add_asn1(&ticket, &value, (0x00 | 0x00 | 0x4))
!CBB_add_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
155 goto
never executed: goto err;
err;
never executed: goto err;
0
156 if (!CBB_add_bytes(&value, s->tlsext_tick, s->tlsext_ticklen)
!CBB_add_bytes...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
0-2
157 goto
never executed: goto err;
err;
never executed: goto err;
0
158 }
executed 2 times by 1 test: end of block
Executed by:
  • asn1test
2
159-
160-
161-
162-
163 if (!CBB_finish(&cbb, out, out_len)
!CBB_finish(&c... out, out_len)Description
TRUEnever evaluated
FALSEevaluated 65 times by 2 tests
Evaluated by:
  • asn1test
  • ssltest
)
0-65
164 goto
never executed: goto err;
err;
never executed: goto err;
0
165-
166 rv = 1;-
167-
168 err:
code before this statement executed 65 times by 2 tests: err:
Executed by:
  • asn1test
  • ssltest
65
169 CBB_cleanup(&cbb);-
170 free(peer_cert_bytes);-
171-
172 return
executed 67 times by 2 tests: return rv;
Executed by:
  • asn1test
  • ssltest
rv;
executed 67 times by 2 tests: return rv;
Executed by:
  • asn1test
  • ssltest
67
173}-
174-
175int-
176SSL_SESSION_ticket(SSL_SESSION *ss, unsigned char **out, size_t *out_len)-
177{-
178 if (ss ==
ss == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
179 ((void *)0)
ss == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
180 )-
181 return
never executed: return 0;
0;
never executed: return 0;
0
182-
183 if (ss->cipher ==
ss->cipher == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
184 ((void *)0)
ss->cipher == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
185 && ss->cipher_id == 0
ss->cipher_id == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
186 return
never executed: return 0;
0;
never executed: return 0;
0
187-
188 return
executed 59 times by 1 test: return SSL_SESSION_encode(ss, out, out_len, 1);
Executed by:
  • ssltest
SSL_SESSION_encode(ss, out, out_len, 1);
executed 59 times by 1 test: return SSL_SESSION_encode(ss, out, out_len, 1);
Executed by:
  • ssltest
59
189}-
190-
191int-
192i2d_SSL_SESSION(SSL_SESSION *ss, unsigned char **pp)-
193{-
194 unsigned char *data = -
195 ((void *)0)-
196 ;-
197 size_t data_len = 0;-
198 int rv = -1;-
199-
200 if (ss ==
ss == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
0-8
201 ((void *)0)
ss == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
0-8
202 )-
203 return
never executed: return 0;
0;
never executed: return 0;
0
204-
205 if (ss->cipher ==
ss->cipher == ((void *)0)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
0-8
206 ((void *)0)
ss->cipher == ((void *)0)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
0-8
207 && ss->cipher_id == 0
ss->cipher_id == 0Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • asn1test
)
0-8
208 return
never executed: return 0;
0;
never executed: return 0;
0
209-
210 if (!SSL_SESSION_encode(ss, &data, &data_len, 0)
!SSL_SESSION_e... &data_len, 0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 6 times by 1 test
Evaluated by:
  • asn1test
)
2-6
211 goto
executed 2 times by 1 test: goto err;
Executed by:
  • asn1test
err;
executed 2 times by 1 test: goto err;
Executed by:
  • asn1test
2
212-
213 if (data_len > 0x7fffffff
data_len > 0x7fffffffDescription
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • asn1test
)
0-6
214 goto
never executed: goto err;
err;
never executed: goto err;
0
215-
216 if (pp !=
pp != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
3
217 ((void *)0)
pp != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
3
218 ) {-
219 if (*
*pp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
pp ==
*pp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
220 ((void *)0)
*pp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
221 ) {-
222 *pp = data;-
223 data = -
224 ((void *)0)-
225 ;-
226 }
never executed: end of block
else {
0
227 memcpy(*pp, data, data_len);-
228 *pp += data_len;-
229 }
executed 3 times by 1 test: end of block
Executed by:
  • asn1test
3
230 }-
231-
232 rv = (int)data_len;-
233-
234 err:
code before this statement executed 6 times by 1 test: err:
Executed by:
  • asn1test
6
235 freezero(data, data_len);-
236-
237 return
executed 8 times by 1 test: return rv;
Executed by:
  • asn1test
rv;
executed 8 times by 1 test: return rv;
Executed by:
  • asn1test
8
238}-
239-
240SSL_SESSION *-
241d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length)-
242{-
243 CBS cbs, session, cipher_suite, session_id, master_key, peer_cert;-
244 CBS hostname, ticket;-
245 uint64_t version, tls_version, stime, timeout, verify_result, lifetime;-
246 const unsigned char *peer_cert_bytes;-
247 uint16_t cipher_value;-
248 SSL_SESSION *s = -
249 ((void *)0)-
250 ;-
251 size_t data_len;-
252 int present;-
253-
254 if (a !=
a != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
0-3
255 ((void *)0)
a != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
0-3
256 )-
257 s = *a;
executed 3 times by 1 test: s = *a;
Executed by:
  • asn1test
3
258-
259 if (s ==
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
260 ((void *)0)
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
261 ) {-
262 if ((
(s = SSL_SESSI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
s = SSL_SESSION_new()) ==
(s = SSL_SESSI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
263 ((void *)0)
(s = SSL_SESSI...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
264 ) {-
265 ERR_put_error(20,(0xfff),((1|64)),__FILE__,260);-
266 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
267 ((void *)0)
never executed: return ( ((void *)0) );
0
268 );
never executed: return ( ((void *)0) );
0
269 }-
270 }
never executed: end of block
0
271-
272 CBS_init(&cbs, *pp, length);-
273-
274 if (!CBS_get_asn1(&cbs, &session, (0x00 | 0x20 | 0x10))
!CBS_get_asn1(... 0x20 | 0x10))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
275 goto
never executed: goto err;
err;
never executed: goto err;
0
276-
277-
278 if (!CBS_get_asn1_uint64(&session, &version)
!CBS_get_asn1_...ion, &version)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
279 goto
never executed: goto err;
err;
never executed: goto err;
0
280 if (version != 0x0001
version != 0x0001Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
281 goto
never executed: goto err;
err;
never executed: goto err;
0
282-
283-
284 if (!CBS_get_asn1_uint64(&session, &tls_version)
!CBS_get_asn1_... &tls_version)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
285 goto
never executed: goto err;
err;
never executed: goto err;
0
286 if (tls_version > 0x7fffffff
tls_version > 0x7fffffffDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
287 goto
never executed: goto err;
err;
never executed: goto err;
0
288 s->ssl_version = (int)tls_version;-
289-
290-
291 if (!CBS_get_asn1(&session, &cipher_suite, (0x00 | 0x00 | 0x4))
!CBS_get_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
292 goto
never executed: goto err;
err;
never executed: goto err;
0
293 if (!CBS_get_u16(&cipher_suite, &cipher_value)
!CBS_get_u16(&...&cipher_value)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
294 goto
never executed: goto err;
err;
never executed: goto err;
0
295 if (CBS_len(&cipher_suite) != 0
CBS_len(&cipher_suite) != 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
296 goto
never executed: goto err;
err;
never executed: goto err;
0
297-
298-
299 s->cipher = -
300 ((void *)0)-
301 ;-
302 s->cipher_id = 0x03000000 | cipher_value;-
303-
304-
305 if (!CBS_get_asn1(&session, &session_id, (0x00 | 0x00 | 0x4))
!CBS_get_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
306 goto
never executed: goto err;
err;
never executed: goto err;
0
307 if (!CBS_write_bytes(&session_id, s->session_id, sizeof(s->session_id),
!CBS_write_byt...d), &data_len)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
308 &data_len)
!CBS_write_byt...d), &data_len)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
309 goto
never executed: goto err;
err;
never executed: goto err;
0
310 if (data_len >
data_len > (0x...fff * 2U + 1U)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
311 (0x7fffffff * 2U + 1U)
data_len > (0x...fff * 2U + 1U)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
312 )-
313 goto
never executed: goto err;
err;
never executed: goto err;
0
314 s->session_id_length = (unsigned int)data_len;-
315-
316-
317 if (!CBS_get_asn1(&session, &master_key, (0x00 | 0x00 | 0x4))
!CBS_get_asn1(...| 0x00 | 0x4))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
318 goto
never executed: goto err;
err;
never executed: goto err;
0
319 if (!CBS_write_bytes(&master_key, s->master_key, sizeof(s->master_key),
!CBS_write_byt...y), &data_len)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
320 &data_len)
!CBS_write_byt...y), &data_len)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
321 goto
never executed: goto err;
err;
never executed: goto err;
0
322 if (data_len > 0x7fffffff
data_len > 0x7fffffffDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
323 goto
never executed: goto err;
err;
never executed: goto err;
0
324 s->master_key_length = (int)data_len;-
325-
326-
327 s->time = time(-
328 ((void *)0)-
329 );-
330 if (!CBS_get_optional_asn1_uint64(&session, &stime, ((0x20 | 0x80) | 1),
!CBS_get_optio...0x80) | 1), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
331 0)
!CBS_get_optio...0x80) | 1), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
332 goto
never executed: goto err;
err;
never executed: goto err;
0
333 if (stime > time_max()
stime > time_max()Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
334 goto
never executed: goto err;
err;
never executed: goto err;
0
335 if (stime != 0
stime != 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
1-2
336 s->time = (time_t)stime;
executed 1 time by 1 test: s->time = (time_t)stime;
Executed by:
  • asn1test
1
337-
338-
339 s->timeout = 3;-
340 if (!CBS_get_optional_asn1_uint64(&session, &timeout,
!CBS_get_optio...0x80) | 2), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
341 ((0x20 | 0x80) | 2), 0)
!CBS_get_optio...0x80) | 2), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
342 goto
never executed: goto err;
err;
never executed: goto err;
0
343 if (timeout > 0x7fffffffffffffffL
timeout > 0x7fffffffffffffffLDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
344 goto
never executed: goto err;
err;
never executed: goto err;
0
345 if (timeout != 0
timeout != 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
1-2
346 s->timeout = (long)timeout;
executed 1 time by 1 test: s->timeout = (long)timeout;
Executed by:
  • asn1test
1
347-
348-
349 X509_free(s->peer);-
350 s->peer = -
351 ((void *)0)-
352 ;-
353 if (!CBS_get_optional_asn1(&session, &peer_cert, &present,
!CBS_get_optio... | 0x80) | 3))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
354 ((0x20 | 0x80) | 3))
!CBS_get_optio... | 0x80) | 3))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
355 goto
never executed: goto err;
err;
never executed: goto err;
0
356 if (present
presentDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
) {
1-2
357 data_len = CBS_len(&peer_cert);-
358 if (data_len > 0x7fffffffffffffffL
data_len > 0x7fffffffffffffffLDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
)
0-1
359 goto
never executed: goto err;
err;
never executed: goto err;
0
360 peer_cert_bytes = CBS_data(&peer_cert);-
361 if (d2i_X509(&s->peer, &peer_cert_bytes,
d2i_X509(&s->p...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
0-1
362 (long)data_len) ==
d2i_X509(&s->p...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
0-1
363 ((void *)0)
d2i_X509(&s->p...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
0-1
364 )-
365 goto
never executed: goto err;
err;
never executed: goto err;
0
366 }
executed 1 time by 1 test: end of block
Executed by:
  • asn1test
1
367-
368-
369 s->sid_ctx_length = 0;-
370 if (!CBS_get_optional_asn1_octet_string(&session, &session_id, &present,
!CBS_get_optio... | 0x80) | 4))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
371 ((0x20 | 0x80) | 4))
!CBS_get_optio... | 0x80) | 4))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
372 goto
never executed: goto err;
err;
never executed: goto err;
0
373 if (present
presentDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
) {
0-3
374 if (!CBS_write_bytes(&session_id, (uint8_t *)&s->sid_ctx,
!CBS_write_byt...x), &data_len)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
375 sizeof(s->sid_ctx), &data_len)
!CBS_write_byt...x), &data_len)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
376 goto
never executed: goto err;
err;
never executed: goto err;
0
377 if (data_len >
data_len > (0x...fff * 2U + 1U)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
378 (0x7fffffff * 2U + 1U)
data_len > (0x...fff * 2U + 1U)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
379 )-
380 goto
never executed: goto err;
err;
never executed: goto err;
0
381 s->sid_ctx_length = (unsigned int)data_len;-
382 }
executed 3 times by 1 test: end of block
Executed by:
  • asn1test
3
383-
384-
385 s->verify_result = 0;-
386 if (!CBS_get_optional_asn1_uint64(&session, &verify_result,
!CBS_get_optio...0x80) | 5), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
387 ((0x20 | 0x80) | 5), 0)
!CBS_get_optio...0x80) | 5), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
388 goto
never executed: goto err;
err;
never executed: goto err;
0
389 if (verify_result > 0x7fffffffffffffffL
verify_result ...fffffffffffffLDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
390 goto
never executed: goto err;
err;
never executed: goto err;
0
391 s->verify_result = (long)verify_result;-
392-
393-
394 free(s->tlsext_hostname);-
395 s->tlsext_hostname = -
396 ((void *)0)-
397 ;-
398 if (!CBS_get_optional_asn1_octet_string(&session, &hostname, &present,
!CBS_get_optio... | 0x80) | 6))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
399 ((0x20 | 0x80) | 6))
!CBS_get_optio... | 0x80) | 6))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
400 goto
never executed: goto err;
err;
never executed: goto err;
0
401 if (present
presentDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
) {
1-2
402 if (CBS_contains_zero_byte(&hostname)
CBS_contains_z...yte(&hostname)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
)
0-1
403 goto
never executed: goto err;
err;
never executed: goto err;
0
404 if (!CBS_strdup(&hostname, &s->tlsext_hostname)
!CBS_strdup(&h...sext_hostname)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
)
0-1
405 goto
never executed: goto err;
err;
never executed: goto err;
0
406 }
executed 1 time by 1 test: end of block
Executed by:
  • asn1test
1
407-
408-
409-
410-
411-
412 s->tlsext_tick_lifetime_hint = 0;-
413-
414 if (s->tlsext_ticklen > 0
s->tlsext_ticklen > 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
&& s->session_id_length > 0
s->session_id_length > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0-3
415 s->tlsext_tick_lifetime_hint = -1;
never executed: s->tlsext_tick_lifetime_hint = -1;
0
416 if (!CBS_get_optional_asn1_uint64(&session, &lifetime,
!CBS_get_optio...0x80) | 9), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
417 ((0x20 | 0x80) | 9), 0)
!CBS_get_optio...0x80) | 9), 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
418 goto
never executed: goto err;
err;
never executed: goto err;
0
419 if (lifetime > 0x7fffffffffffffffL
lifetime > 0x7fffffffffffffffLDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
420 goto
never executed: goto err;
err;
never executed: goto err;
0
421 if (lifetime > 0
lifetime > 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
)
1-2
422 s->tlsext_tick_lifetime_hint = (long)lifetime;
executed 1 time by 1 test: s->tlsext_tick_lifetime_hint = (long)lifetime;
Executed by:
  • asn1test
1
423-
424-
425 free(s->tlsext_tick);-
426 s->tlsext_tick = -
427 ((void *)0)-
428 ;-
429 if (!CBS_get_optional_asn1_octet_string(&session, &ticket, &present,
!CBS_get_optio...| 0x80) | 10))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
0-3
430 ((0x20 | 0x80) | 10))
!CBS_get_optio...| 0x80) | 10))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
)
0-3
431 goto
never executed: goto err;
err;
never executed: goto err;
0
432 if (present
presentDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • asn1test
) {
1-2
433 if (!CBS_stow(&ticket, &s->tlsext_tick, &s->tlsext_ticklen)
!CBS_stow(&tic...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • asn1test
)
0-1
434 goto
never executed: goto err;
err;
never executed: goto err;
0
435 }
executed 1 time by 1 test: end of block
Executed by:
  • asn1test
1
436-
437-
438-
439-
440 *pp = CBS_data(&cbs);-
441-
442 if (a !=
a != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
0-3
443 ((void *)0)
a != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • asn1test
FALSEnever evaluated
0-3
444 )-
445 *
executed 3 times by 1 test: *a = s;
Executed by:
  • asn1test
a = s;
executed 3 times by 1 test: *a = s;
Executed by:
  • asn1test
3
446-
447 return
executed 3 times by 1 test: return (s);
Executed by:
  • asn1test
(s);
executed 3 times by 1 test: return (s);
Executed by:
  • asn1test
3
448-
449err:-
450 ERR_asprintf_error_data("offset=%d", (int)(CBS_data(&cbs) - *pp));-
451-
452 if (s !=
s != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
453 ((void *)0)
s != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
454 && (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
455 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
456 || *
*a != sDescription
TRUEnever evaluated
FALSEnever evaluated
a != s
*a != sDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
457 SSL_SESSION_free(s);
never executed: SSL_SESSION_free(s);
0
458-
459 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
460 ((void *)0)
never executed: return ( ((void *)0) );
0
461 );
never executed: return ( ((void *)0) );
0
462}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2