summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMark Riordan <mriordan@ipswitch.com>2011-04-08 09:50:32 -0500
committerAndreas Schneider <asn@cryptomilk.org>2011-04-14 14:18:45 +0200
commit5939cfe78af88710fb88f93ee435b78b93022f4e (patch)
tree4cd37f83f15efc5f4d12494d280c315ffada9c6e /src
parent3e7d4534cec141141e2b2cc5beedcc171cd99360 (diff)
downloadlibssh-5939cfe78af88710fb88f93ee435b78b93022f4e.tar.gz
libssh-5939cfe78af88710fb88f93ee435b78b93022f4e.tar.xz
libssh-5939cfe78af88710fb88f93ee435b78b93022f4e.zip
scp: Fix potential infinite loop in ssh_scp_close
Signed-off-by: Mark Riordan <mriordan@ipswitch.com> Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src')
-rw-r--r--src/scp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/scp.c b/src/scp.c
index b69f98e..5378584 100644
--- a/src/scp.c
+++ b/src/scp.c
@@ -148,7 +148,7 @@ int ssh_scp_close(ssh_scp scp){
*/
while(!ssh_channel_is_eof(scp->channel)){
err=ssh_channel_read(scp->channel,buffer,sizeof(buffer),0);
- if(err==SSH_ERROR)
+ if(err==SSH_ERROR || err==0)
break;
}
if(ssh_channel_close(scp->channel) == SSH_ERROR){