Add memory error checking for packet functions.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@323 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
Andreas Schneider
2009-04-01 19:59:17 +00:00
parent 8bcd65193c
commit 2c3e423480

View File

@@ -104,6 +104,11 @@ static int packet_read2(SSH_SESSION *session){
return ret;
}
packet = malloc(to_be_read);
if (packet == NULL) {
ssh_set_error(session, SSH_FATAL, "No space left");
leave_function();
return SSH_ERROR;
}
ssh_socket_read(session->socket,packet,to_be_read-current_macsize);
ssh_log(session,SSH_LOG_PACKET,"Read a %d bytes packet",len);
buffer_add_data(session->in_buffer,packet,to_be_read-current_macsize);
@@ -208,6 +213,11 @@ static int packet_read1(SSH_SESSION *session){
to_be_read=len+padding;
/* it is *not* possible that to_be_read be < 8. */
packet = malloc(to_be_read);
if (packet == NULL) {
ssh_set_error(session, SSH_FATAL,"No space left");
leave_function();
return SSH_ERROR;
}
ret=ssh_socket_read(session->socket,packet,to_be_read);
if(ret != SSH_OK){
free(packet);