SFTP: avoid downloading negative sizes!

It is still not clarified exactly why this happens, but libssh2
sometimes report a negative file size for the remote SFTP file and that
deeply confuses libcurl (or crashes it) so this precaution is added to
avoid badness.

Reported by: Ernest Beinrohr
Bug: http://curl.haxx.se/bug/view.cgi?id=3076430
This commit is contained in:
Daniel Stenberg 2010-09-30 23:08:37 +02:00
parent 8fa519dce4
commit 5f0ae7a062
1 changed files with 5 additions and 2 deletions

View File

@ -1911,9 +1911,12 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
data->req.maxdownload = -1;
}
else {
curl_off_t size;
curl_off_t size = attrs.filesize;
size = attrs.filesize;
if(size < 0) {
failf(data, "Bad file size (%" FORMAT_OFF_T ")", size);
return CURLE_BAD_DOWNLOAD_RESUME;
}
if(conn->data->state.use_range) {
curl_off_t from, to;
char *ptr;