1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-08 19:02:06 +03:00

channels: Check return values of buffer functions.

Found by Coverity.
This commit is contained in:
Andreas Schneider
2012-10-08 19:52:20 +02:00
parent 6acce40a28
commit bb2848de5a

View File

@@ -654,6 +654,7 @@ SSH_PACKET_CALLBACK(channel_rcv_request) {
ssh_string request_s; ssh_string request_s;
char *request; char *request;
uint32_t status; uint32_t status;
int rc;
(void)user; (void)user;
(void)type; (void)type;
@@ -816,8 +817,14 @@ SSH_PACKET_CALLBACK(channel_rcv_request) {
if(strcmp(request,"keepalive@openssh.com")==0){ if(strcmp(request,"keepalive@openssh.com")==0){
SAFE_FREE(request); SAFE_FREE(request);
ssh_log(session, SSH_LOG_PROTOCOL,"Responding to Openssh's keepalive"); ssh_log(session, SSH_LOG_PROTOCOL,"Responding to Openssh's keepalive");
buffer_add_u8(session->out_buffer, SSH2_MSG_CHANNEL_FAILURE); rc = buffer_add_u8(session->out_buffer, SSH2_MSG_CHANNEL_FAILURE);
buffer_add_u32(session->out_buffer, htonl(channel->remote_channel)); if (rc < 0) {
return SSH_PACKET_USED;
}
rc = buffer_add_u32(session->out_buffer, htonl(channel->remote_channel));
if (rc < 0) {
return SSH_PACKET_USED;
}
packet_send(session); packet_send(session);
leave_function(); leave_function();
return SSH_PACKET_USED; return SSH_PACKET_USED;