1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-02 20:12:48 -05:00

Handle failed SSH_FXP_CLOSE requests in sftp_put_file.

It is possible for SSH_FXP_CLOSE requests to fail. This can happen if the
server buffers writes and an error occurs flushing the data to disk while
processing the SSH_FXP_CLOSE request. If the close fails, sftp_put_file now
returns an error as well.
This commit is contained in:
Tim Kosse
2016-12-28 15:34:53 +01:00
committed by Simon Tatham
parent e9a76883ad
commit 6f871e3d22
3 changed files with 11 additions and 4 deletions

View File

@ -712,7 +712,13 @@ int sftp_put_file(char *fname, char *outfname, int recurse, int restart)
cleanup:
req = fxp_close_send(fh);
pktin = sftp_wait_for_reply(req);
fxp_close_recv(pktin, req);
ret = fxp_close_recv(pktin, req);
if (!ret) {
if (!err) {
printf("error while closing: %s", fxp_error());
err = 1;
}
}
close_rfile(file);