summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libssh/messages.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/libssh/messages.c b/libssh/messages.c
index 4f0a4b4..8b32cdf 100644
--- a/libssh/messages.c
+++ b/libssh/messages.c
@@ -298,11 +298,20 @@ error:
return rc;
}
-int ssh_message_auth_reply_success(SSH_MESSAGE *msg,int partial){
- if(partial)
- return ssh_message_auth_reply_default(msg,partial);
- buffer_add_u8(msg->session->out_buffer,SSH2_MSG_USERAUTH_SUCCESS);
- return packet_send(msg->session);
+int ssh_message_auth_reply_success(SSH_MESSAGE *msg, int partial) {
+ if (msg == NULL) {
+ return SSH_ERROR;
+ }
+
+ if (partial) {
+ return ssh_message_auth_reply_default(msg, partial);
+ }
+
+ if (buffer_add_u8(msg->session->out_buffer,SSH2_MSG_USERAUTH_SUCCESS) < 0) {
+ return SSH_ERROR;
+ }
+
+ return packet_send(msg->session);
}
static SSH_MESSAGE *handle_channel_request_open(SSH_SESSION *session){