summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2014-03-06 12:48:33 +0100
committerDan Fandrich <dan@coneharvesters.com>2014-03-06 12:48:33 +0100
commite84d0b41f623081689f6578d07c8fa0fdd8e1324 (patch)
treeb6a132aee0eabd3d22ff709a37bb4cf5c0fc61d1
parent539412851c4c81225c0a0f6d014b635a102b0a08 (diff)
downloadgnurl-e84d0b41f623081689f6578d07c8fa0fdd8e1324.tar.gz
gnurl-e84d0b41f623081689f6578d07c8fa0fdd8e1324.tar.bz2
gnurl-e84d0b41f623081689f6578d07c8fa0fdd8e1324.zip
ssh: Pass errors from libssh2_sftp_read up the stack
-rw-r--r--lib/ssh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ssh.c b/lib/ssh.c
index 00479c87d..3e3190d74 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -3118,6 +3118,7 @@ static ssize_t sftp_send(struct connectdata *conn, int sockindex,
/*
* Return number of received (decrypted) bytes
+ * or <0 on error
*/
static ssize_t sftp_recv(struct connectdata *conn, int sockindex,
char *mem, size_t len, CURLcode *err)
@@ -3132,6 +3133,9 @@ static ssize_t sftp_recv(struct connectdata *conn, int sockindex,
if(nread == LIBSSH2_ERROR_EAGAIN) {
*err = CURLE_AGAIN;
nread = -1;
+
+ } else if(nread < 0) {
+ *err = libssh2_session_error_to_CURLE(nread);
}
return nread;
}