mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-05 12:50:30 +09:00
channels: Fix possible infinite loop in channel_read().
This commit is contained in:
committed by
Andreas Schneider
parent
d1df255df4
commit
66188f1af8
@@ -2439,6 +2439,7 @@ int ssh_channel_read(ssh_channel channel, void *dest, uint32_t count, int is_std
|
||||
ssh_session session;
|
||||
ssh_buffer stdbuf;
|
||||
uint32_t len;
|
||||
int rc;
|
||||
|
||||
if(channel == NULL) {
|
||||
return SSH_ERROR;
|
||||
@@ -2497,7 +2498,10 @@ int ssh_channel_read(ssh_channel channel, void *dest, uint32_t count, int is_std
|
||||
break;
|
||||
}
|
||||
|
||||
ssh_handle_packets(session, -2);
|
||||
rc = ssh_handle_packets(session, -2);
|
||||
if (rc != SSH_OK) {
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
len = buffer_get_rest_len(stdbuf);
|
||||
|
||||
Reference in New Issue
Block a user