From 0ba075e9ce93bfbfa0faf0bd9c14b463bde44782 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 17 Jun 2013 12:39:38 +0200 Subject: channels1: Check return value of buffer_add_u8(). --- src/channels1.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/channels1.c') diff --git a/src/channels1.c b/src/channels1.c index 5d0158d2..62faf4ae 100644 --- a/src/channels1.c +++ b/src/channels1.c @@ -288,6 +288,8 @@ SSH_PACKET_CALLBACK(ssh_packet_data1){ SSH_PACKET_CALLBACK(ssh_packet_close1){ ssh_channel channel = ssh_get_channel1(session); uint32_t status; + int rc; + (void)type; (void)user; @@ -305,7 +307,10 @@ SSH_PACKET_CALLBACK(ssh_packet_close1){ channel->state = SSH_CHANNEL_STATE_CLOSED; channel->remote_eof = 1; - buffer_add_u8(session->out_buffer, SSH_CMSG_EXIT_CONFIRMATION); + rc = buffer_add_u8(session->out_buffer, SSH_CMSG_EXIT_CONFIRMATION); + if (rc < 0) { + return SSH_PACKET_NOT_USED; + } packet_send(session); return SSH_PACKET_USED; -- cgit v1.2.3