From 2e352d30858a56165285e08a2d0fe6fa81ba902e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 30 Mar 2011 11:35:37 +0200 Subject: [PATCH] sftp_write: handle FXP_WRITE errors When an sftp server returns an error back on write, make sure the function bails out and returns the proper error. --- src/sftp.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/sftp.c b/src/sftp.c index 7feae32f..82daa4b9 100644 --- a/src/sftp.c +++ b/src/sftp.c @@ -1677,10 +1677,11 @@ static ssize_t sftp_write(LIBSSH2_SFTP_HANDLE *handle, const char *buffer, chunk = next; } - else { - /* TODO: handle errors here! */ - break; - } + else + /* the server returned an error for that written chunk, propagate + this back to our parent function */ + return _libssh2_error(session, LIBSSH2_ERROR_SFTP_PROTOCOL, + "FXP write failed"); } /* if there were acked data in a previous call that wasn't returned then,