aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/client.c b/src/client.c
index c8500ba4..f3683079 100644
--- a/src/client.c
+++ b/src/client.c
@@ -546,9 +546,11 @@ static void ssh_client_connection_callback(ssh_session session){
case SSH_SESSION_STATE_KEXINIT_RECEIVED:
set_status(session,0.6f);
ssh_list_kex(session, &session->server_kex);
- if (set_kex(session) < 0) {
+ if (set_client_kex(session) < 0) {
goto error;
}
+ if (ssh_kex_select_methods(session) == SSH_ERROR)
+ goto error;
if (ssh_send_kex(session, 0) < 0) {
goto error;
}
@@ -819,8 +821,7 @@ error:
SAFE_FREE(session->server_kex.methods[i]);
}
}
- SAFE_FREE(session->client_kex.methods);
- SAFE_FREE(session->server_kex.methods);
+
if(session->ssh_message_list){
ssh_message msg;
while((msg=ssh_list_pop_head(ssh_message ,session->ssh_message_list))