X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/679539d7ab96f188640d159ea0b004275db67356..479fe1ba750b1cda0ad3a159f2727619555436b0:/sftp.c diff --git a/sftp.c b/sftp.c index 66e96b44..a55262a7 100644 --- a/sftp.c +++ b/sftp.c @@ -1089,7 +1089,8 @@ int xfer_done(struct fxp_xfer *xfer) void xfer_download_queue(struct fxp_xfer *xfer) { - while (xfer->req_totalsize < xfer->req_maxsize && !xfer->eof) { + while (xfer->req_totalsize < xfer->req_maxsize && + !xfer->eof && !xfer->err) { /* * Queue a new read request. */ @@ -1155,6 +1156,8 @@ int xfer_download_gotpkt(struct fxp_xfer *xfer, struct sftp_packet *pktin) #endif } else if (rr->retlen < 0) { /* some error other than EOF; signal it back to caller */ + xfer_set_error(xfer); + rr->complete = -1; return -1; }