mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-04 12:20:42 +09:00
Add more error checks to sftp_read_and_dispatch().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@577 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -370,24 +370,29 @@ static SFTP_MESSAGE *sftp_get_message(SFTP_PACKET *packet) {
|
||||
return msg;
|
||||
}
|
||||
|
||||
static int sftp_read_and_dispatch(SFTP_SESSION *sftp){
|
||||
SFTP_PACKET *packet;
|
||||
SFTP_MESSAGE *message=NULL;
|
||||
sftp_enter_function();
|
||||
packet=sftp_packet_read(sftp);
|
||||
if(!packet){
|
||||
sftp_leave_function();
|
||||
return -1; /* something nasty happened reading the packet */
|
||||
}
|
||||
message=sftp_get_message(packet);
|
||||
sftp_packet_free(packet);
|
||||
if(!message){
|
||||
sftp_leave_function();
|
||||
return -1;
|
||||
}
|
||||
sftp_enqueue(sftp,message);
|
||||
static int sftp_read_and_dispatch(SFTP_SESSION *sftp) {
|
||||
SFTP_PACKET *packet = NULL;
|
||||
SFTP_MESSAGE *msg = NULL;
|
||||
|
||||
sftp_enter_function();
|
||||
|
||||
packet = sftp_packet_read(sftp);
|
||||
if (packet == NULL) {
|
||||
sftp_leave_function();
|
||||
return 0;
|
||||
return -1; /* something nasty happened reading the packet */
|
||||
}
|
||||
|
||||
msg = sftp_get_message(packet);
|
||||
sftp_packet_free(packet);
|
||||
if (message == NULL) {
|
||||
sftp_leave_function();
|
||||
return -1;
|
||||
}
|
||||
|
||||
sftp_enqueue(sftp, msg);
|
||||
|
||||
sftp_leave_function();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sftp_packet_free(SFTP_PACKET *packet){
|
||||
|
||||
Reference in New Issue
Block a user