OpenCoverage

kexgexc.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/kexgexc.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14static int input_kex_dh_gex_group(int, u_int32_t, struct ssh *);-
15static int input_kex_dh_gex_reply(int, u_int32_t, struct ssh *);-
16-
17int-
18kexgex_client(struct ssh *ssh)-
19{-
20 struct kex *kex = ssh->kex;-
21 int r;-
22 u_int nbits;-
23-
24 nbits = dh_estimate(kex->dh_need * 8);-
25-
26 kex->min = 2048;-
27 kex->max = 8192;-
28 kex->nbits = nbits;-
29 if (datafellows & 0x40000000
datafellows & 0x40000000Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
30 kex->nbits = (((
((kex->nbits) < (4096))Description
TRUEnever evaluated
FALSEnever evaluated
kex->nbits) < (4096))
((kex->nbits) < (4096))Description
TRUEnever evaluated
FALSEnever evaluated
? (kex->nbits) : (4096));
never executed: kex->nbits = (((kex->nbits) < (4096)) ? (kex->nbits) : (4096));
0
31-
32 if ((
(r = sshpkt_st...ssh, 34)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_start(ssh, 34)) != 0
(r = sshpkt_st...ssh, 34)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
33 (
(r = sshpkt_pu...ex->min)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_put_u32(ssh, kex->min)) != 0
(r = sshpkt_pu...ex->min)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
34 (
(r = sshpkt_pu...->nbits)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_put_u32(ssh, kex->nbits)) != 0
(r = sshpkt_pu...->nbits)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
35 (
(r = sshpkt_pu...ex->max)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_put_u32(ssh, kex->max)) != 0
(r = sshpkt_pu...ex->max)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
36 (
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_send(ssh)) != 0
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
37 goto
never executed: goto out;
out;
never executed: goto out;
0
38 debug("SSH2_MSG_KEX_DH_GEX_REQUEST(%u<%u<%u) sent",-
39 kex->min, kex->nbits, kex->max);-
40-
41-
42-
43-
44 ssh_dispatch_set(ssh, 31,-
45 &input_kex_dh_gex_group);-
46 r = 0;-
47 out:
code before this statement executed 40 times by 1 test: out:
Executed by:
  • test_kex
40
48 return
executed 40 times by 1 test: return r;
Executed by:
  • test_kex
r;
executed 40 times by 1 test: return r;
Executed by:
  • test_kex
40
49}-
50-
51static int-
52input_kex_dh_gex_group(int type, u_int32_t seq, struct ssh *ssh)-
53{-
54 struct kex *kex = ssh->kex;-
55 BIGNUM *p = -
56 ((void *)0)-
57 , *g = -
58 ((void *)0)-
59 ;-
60 const BIGNUM *pub_key;-
61 int r, bits;-
62-
63 debug("got SSH2_MSG_KEX_DH_GEX_GROUP");-
64-
65 if ((
(p = BN_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
p = BN_new()) ==
(p = BN_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
66 ((void *)0)
(p = BN_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
67 ||-
68 (
(g = BN_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
g = BN_new()) ==
(g = BN_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
69 ((void *)0)
(g = BN_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
70 ) {-
71 r = -2;-
72 goto
never executed: goto out;
out;
never executed: goto out;
0
73 }-
74 if ((
(r = sshpkt_ge...(ssh, p)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_bignum2(ssh, p)) != 0
(r = sshpkt_ge...(ssh, p)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
75 (
(r = sshpkt_ge...(ssh, g)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_bignum2(ssh, g)) != 0
(r = sshpkt_ge...(ssh, g)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
76 (
(r = sshpkt_get_end(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_end(ssh)) != 0
(r = sshpkt_get_end(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
77 goto
never executed: goto out;
out;
never executed: goto out;
0
78 if ((
(bits = BN_num_bits(p)) < 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
bits = BN_num_bits(p)) < 0
(bits = BN_num_bits(p)) < 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
79 (
(u_int)bits < kex->minDescription
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
u_int)bits < kex->min
(u_int)bits < kex->minDescription
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
|| (
(u_int)bits > kex->maxDescription
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
u_int)bits > kex->max
(u_int)bits > kex->maxDescription
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
) {
0-40
80 r = -28;-
81 goto
never executed: goto out;
out;
never executed: goto out;
0
82 }-
83 if ((
(kex->dh = dh_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
kex->dh = dh_new_group(g, p)) ==
(kex->dh = dh_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
84 ((void *)0)
(kex->dh = dh_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
85 ) {-
86 r = -2;-
87 goto
never executed: goto out;
out;
never executed: goto out;
0
88 }-
89 p = g = -
90 ((void *)0)-
91 ;-
92-
93-
94 if ((
(r = dh_gen_ke...eed * 8)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0
(r = dh_gen_ke...eed * 8)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
95 goto
never executed: goto out;
out;
never executed: goto out;
0
96 DH_get0_key(kex->dh, &pub_key, -
97 ((void *)0)-
98 );-
99 if ((
(r = sshpkt_st...ssh, 32)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_start(ssh, 32)) != 0
(r = sshpkt_st...ssh, 32)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
100 (
(r = sshpkt_pu...pub_key)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_put_bignum2(ssh, pub_key)) != 0
(r = sshpkt_pu...pub_key)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
101 (
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_send(ssh)) != 0
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
102 goto
never executed: goto out;
out;
never executed: goto out;
0
103 debug("SSH2_MSG_KEX_DH_GEX_INIT sent");-
104-
105-
106-
107-
108-
109-
110 ssh_dispatch_set(ssh, 31, -
111 ((void *)0)-
112 );-
113 ssh_dispatch_set(ssh, 33, &input_kex_dh_gex_reply);-
114 r = 0;-
115out:
code before this statement executed 40 times by 1 test: out:
Executed by:
  • test_kex
40
116 BN_clear_free(p);-
117 BN_clear_free(g);-
118 return
executed 40 times by 1 test: return r;
Executed by:
  • test_kex
r;
executed 40 times by 1 test: return r;
Executed by:
  • test_kex
40
119}-
120-
121static int-
122input_kex_dh_gex_reply(int type, u_int32_t seq, struct ssh *ssh)-
123{-
124 struct kex *kex = ssh->kex;-
125 BIGNUM *dh_server_pub = -
126 ((void *)0)-
127 , *shared_secret = -
128 ((void *)0)-
129 ;-
130 const BIGNUM *pub_key, *dh_p, *dh_g;-
131 struct sshkey *server_host_key = -
132 ((void *)0)-
133 ;-
134 u_char *kbuf = -
135 ((void *)0)-
136 , *signature = -
137 ((void *)0)-
138 , *server_host_key_blob = -
139 ((void *)0)-
140 ;-
141 u_char hash[64];-
142 size_t klen = 0, slen, sbloblen, hashlen;-
143 int kout, r;-
144-
145 debug("got SSH2_MSG_KEX_DH_GEX_REPLY");-
146 if (kex->verify_host_key ==
kex->verify_ho...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
147 ((void *)0)
kex->verify_ho...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
148 ) {-
149 r = -10;-
150 goto
never executed: goto out;
out;
never executed: goto out;
0
151 }-
152-
153 if ((
(r = sshpkt_ge...bloblen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_string(ssh, &server_host_key_blob,
(r = sshpkt_ge...bloblen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
154 &sbloblen)) != 0
(r = sshpkt_ge...bloblen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
155 (
(r = sshkey_fr...ost_key)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshkey_from_blob(server_host_key_blob, sbloblen,
(r = sshkey_fr...ost_key)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
156 &server_host_key)) != 0
(r = sshkey_fr...ost_key)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
157 goto
never executed: goto out;
out;
never executed: goto out;
0
158 if (server_host_key->type != kex->hostkey_type
server_host_ke...->hostkey_typeDescription
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
159 (kex->hostkey_type == KEY_ECDSA
kex->hostkey_type == KEY_ECDSADescription
TRUEevaluated 10 times by 1 test
Evaluated by:
  • test_kex
FALSEevaluated 30 times by 1 test
Evaluated by:
  • test_kex
&&
10-30
160 server_host_key->ecdsa_nid != kex->hostkey_nid
server_host_ke...x->hostkey_nidDescription
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • test_kex
)) {
0-10
161 r = -13;-
162 goto
never executed: goto out;
out;
never executed: goto out;
0
163 }-
164 if (kex->verify_host_key(server_host_key, ssh) == -1
kex->verify_ho...ey, ssh) == -1Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
) {
0-40
165 r = -21;-
166 goto
never executed: goto out;
out;
never executed: goto out;
0
167 }-
168-
169 if ((
(dh_server_pub...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
dh_server_pub = BN_new()) ==
(dh_server_pub...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
170 ((void *)0)
(dh_server_pub...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
171 ) {-
172 r = -2;-
173 goto
never executed: goto out;
out;
never executed: goto out;
0
174 }-
175-
176 if ((
(r = sshpkt_ge...ver_pub)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_bignum2(ssh, dh_server_pub)) != 0
(r = sshpkt_ge...ver_pub)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
177 (
(r = sshpkt_ge..., &slen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_string(ssh, &signature, &slen)) != 0
(r = sshpkt_ge..., &slen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
178 (
(r = sshpkt_get_end(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshpkt_get_end(ssh)) != 0
(r = sshpkt_get_end(ssh)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
179 goto
never executed: goto out;
out;
never executed: goto out;
0
180-
181-
182-
183-
184-
185-
186 if (!dh_pub_is_valid(kex->dh, dh_server_pub)
!dh_pub_is_val...dh_server_pub)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
) {
0-40
187 sshpkt_disconnect(ssh, "bad server public DH value");-
188 r = -3;-
189 goto
never executed: goto out;
out;
never executed: goto out;
0
190 }-
191-
192 klen = DH_size(kex->dh);-
193 if ((
(kbuf = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
kbuf = malloc(klen)) ==
(kbuf = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
194 ((void *)0)
(kbuf = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
195 ||-
196 (
(shared_secret...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
shared_secret = BN_new()) ==
(shared_secret...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
197 ((void *)0)
(shared_secret...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
198 ) {-
199 r = -2;-
200 goto
never executed: goto out;
out;
never executed: goto out;
0
201 }-
202 if ((
(kout = DH_com... kex->dh)) < 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
kout = DH_compute_key(kbuf, dh_server_pub, kex->dh)) < 0
(kout = DH_com... kex->dh)) < 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
||
0-40
203 BN_bin2bn(kbuf, kout, shared_secret) ==
BN_bin2bn(kbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
204 ((void *)0)
BN_bin2bn(kbuf...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
205 ) {-
206 r = -22;-
207 goto
never executed: goto out;
out;
never executed: goto out;
0
208 }-
209-
210-
211-
212 if (ssh->compat & 0x00004000
ssh->compat & 0x00004000Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
213 kex->min = kex->max = -1;
never executed: kex->min = kex->max = -1;
0
214-
215-
216 DH_get0_key(kex->dh, &pub_key, -
217 ((void *)0)-
218 );-
219 DH_get0_pqg(kex->dh, &dh_p, -
220 ((void *)0)-
221 , &dh_g);-
222 hashlen = sizeof(hash);-
223 if ((
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = kexgex_hash(
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
224 kex->hash_alg,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
225 kex->client_version_string,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
226 kex->server_version_string,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
227 sshbuf_ptr(kex->my), sshbuf_len(kex->my),
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
228 sshbuf_ptr(kex->peer), sshbuf_len(kex->peer),
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
229 server_host_key_blob, sbloblen,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
230 kex->min, kex->nbits, kex->max,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
231 dh_p, dh_g,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
232 pub_key,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
233 dh_server_pub,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
234 shared_secret,
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
235 hash, &hashlen)) != 0
(r = kexgex_ha...hashlen)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
236 goto
never executed: goto out;
out;
never executed: goto out;
0
237-
238 if ((
(r = sshkey_ve...>compat)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
r = sshkey_verify(server_host_key, signature, slen, hash,
(r = sshkey_ve...>compat)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
0-40
239 hashlen, kex->hostkey_alg, ssh->compat)) != 0
(r = sshkey_ve...>compat)) != 0Description
TRUEnever evaluated
FALSEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
)
0-40
240 goto
never executed: goto out;
out;
never executed: goto out;
0
241-
242-
243 if (kex->session_id ==
kex->session_id == ((void *)0)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • test_kex
FALSEevaluated 32 times by 1 test
Evaluated by:
  • test_kex
8-32
244 ((void *)0)
kex->session_id == ((void *)0)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • test_kex
FALSEevaluated 32 times by 1 test
Evaluated by:
  • test_kex
8-32
245 ) {-
246 kex->session_id_len = hashlen;-
247 kex->session_id = malloc(kex->session_id_len);-
248 if (kex->session_id ==
kex->session_id == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • test_kex
0-8
249 ((void *)0)
kex->session_id == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • test_kex
0-8
250 ) {-
251 r = -2;-
252 goto
never executed: goto out;
out;
never executed: goto out;
0
253 }-
254 memcpy(kex->session_id, hash, kex->session_id_len);-
255 }
executed 8 times by 1 test: end of block
Executed by:
  • test_kex
8
256-
257 if ((
(r = kex_deriv..._secret)) == 0Description
TRUEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
FALSEnever evaluated
r = kex_derive_keys_bn(ssh, hash, hashlen, shared_secret)) == 0
(r = kex_deriv..._secret)) == 0Description
TRUEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
FALSEnever evaluated
)
0-40
258 r = kex_send_newkeys(ssh);
executed 40 times by 1 test: r = kex_send_newkeys(ssh);
Executed by:
  • test_kex
40
259 out:
code before this statement executed 40 times by 1 test: out:
Executed by:
  • test_kex
40
260 explicit_bzero(hash, sizeof(hash));-
261 DH_free(kex->dh);-
262 kex->dh = -
263 ((void *)0)-
264 ;-
265 BN_clear_free(dh_server_pub);-
266 if (kbuf
kbufDescription
TRUEevaluated 40 times by 1 test
Evaluated by:
  • test_kex
FALSEnever evaluated
) {
0-40
267 explicit_bzero(kbuf, klen);-
268 free(kbuf);-
269 }
executed 40 times by 1 test: end of block
Executed by:
  • test_kex
40
270 BN_clear_free(shared_secret);-
271 sshkey_free(server_host_key);-
272 free(server_host_key_blob);-
273 free(signature);-
274 return
executed 40 times by 1 test: return r;
Executed by:
  • test_kex
r;
executed 40 times by 1 test: return r;
Executed by:
  • test_kex
40
275}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2