From 6acce40a28b4f74806e1928ec6bdbe2d9da43b2c Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 8 Oct 2012 19:47:46 +0200 Subject: [PATCH] scp: Check return value of ssh_channel_poll. Found by Coverity. --- src/scp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/scp.c b/src/scp.c index a2efa321..9be5744c 100644 --- a/src/scp.c +++ b/src/scp.c @@ -419,7 +419,11 @@ int ssh_scp_write(ssh_scp scp, const void *buffer, size_t len){ if(scp->processed + len > scp->filelen) len = (size_t) (scp->filelen - scp->processed); /* hack to avoid waiting for window change */ - ssh_channel_poll(scp->channel,0); + r = ssh_channel_poll(scp->channel, 0); + if (r == SSH_ERROR) { + scp->state = SSH_SCP_ERROR; + return SSH_ERROR; + } w=ssh_channel_write(scp->channel,buffer,len); if(w != SSH_ERROR) scp->processed += w;