aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ftp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 5db4c5fc3..c464f746c 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -637,6 +637,8 @@ CURLcode Curl_ftp_done(struct connectdata *conn)
!data->set.crlf) {
failf(data, "Uploaded unaligned file size (%d out of %d bytes)",
*ftp->bytecountp, data->set.infilesize);
+ conn->bits.close = TRUE; /* close this connection since we don't
+ know what state this error leaves us in */
return CURLE_PARTIAL_FILE;
}
}
@@ -644,6 +646,8 @@ CURLcode Curl_ftp_done(struct connectdata *conn)
if((-1 != conn->size) && (conn->size != *ftp->bytecountp) &&
(conn->maxdownload != *ftp->bytecountp)) {
failf(data, "Received only partial file: %d bytes", *ftp->bytecountp);
+ conn->bits.close = TRUE; /* close this connection since we don't
+ know what state this error leaves us in */
return CURLE_PARTIAL_FILE;
}
else if(!ftp->dont_check &&