1
1
Этот коммит содержится в:
Aris Adamantiadis 2011-09-23 22:27:46 +02:00
родитель 8a3b02f68d
Коммит 046aa02f39
4 изменённых файлов: 9 добавлений и 2 удалений

Просмотреть файл

@ -966,6 +966,10 @@ int ssh_userauth_agent(ssh_session session,
} }
if (!session->agent_state){ if (!session->agent_state){
session->agent_state = malloc(sizeof(struct ssh_agent_state_struct)); session->agent_state = malloc(sizeof(struct ssh_agent_state_struct));
if (!session->agent_state){
ssh_set_error_oom(session);
return SSH_AUTH_ERROR;
}
ZERO_STRUCTP(session->agent_state); ZERO_STRUCTP(session->agent_state);
session->agent_state->state=SSH_AGENT_STATE_NONE; session->agent_state->state=SSH_AGENT_STATE_NONE;
} }

Просмотреть файл

@ -1542,7 +1542,7 @@ static int channel_request(ssh_channel channel, const char *request,
} }
pending: pending:
rc = ssh_handle_packets_termination(session,SSH_TIMEOUT_USER, ssh_channel_request_termination, channel); rc = ssh_handle_packets_termination(session,SSH_TIMEOUT_USER, ssh_channel_request_termination, channel);
if(session->session_state == SSH_SESSION_STATE_ERROR) { if(session->session_state == SSH_SESSION_STATE_ERROR || rc == SSH_ERROR) {
channel->request_state = SSH_CHANNEL_REQ_STATE_ERROR; channel->request_state = SSH_CHANNEL_REQ_STATE_ERROR;
} }
/* we received something */ /* we received something */

Просмотреть файл

@ -251,7 +251,8 @@ int ssh_server_ecdh_init(ssh_session session, ssh_buffer packet){
ssh_log(session,SSH_LOG_PROTOCOL, "SSH_MSG_KEXDH_REPLY sent"); ssh_log(session,SSH_LOG_PROTOCOL, "SSH_MSG_KEXDH_REPLY sent");
rc = packet_send(session); rc = packet_send(session);
if (rc == SSH_ERROR)
goto error;
/* Send the MSG_NEWKEYS */ /* Send the MSG_NEWKEYS */
if (buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) { if (buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) {

Просмотреть файл

@ -165,6 +165,8 @@ SSH_PACKET_CALLBACK(ssh_packet_kexdh_init){
default: default:
ssh_set_error(session,SSH_FATAL,"Wrong kex type in ssh_packet_kexdh_init"); ssh_set_error(session,SSH_FATAL,"Wrong kex type in ssh_packet_kexdh_init");
} }
if (rc == SSH_ERROR)
session->session_state = SSH_SESSION_STATE_ERROR;
error: error:
leave_function(); leave_function();
return SSH_PACKET_USED; return SSH_PACKET_USED;