diff --git a/lib/ssh.c b/lib/ssh.c index 026212103ead6004956a4af77ef233c9b0077e7d..314d89843145882ebb4b2fbeca2f102c54e2c34f 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -1442,6 +1442,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) data->state.resume_from = 0; } else { + curl_off_t size = attrs.filesize; + if(size < 0) { + failf(data, "Bad file size (%" FORMAT_OFF_T ")", size); + return CURLE_BAD_DOWNLOAD_RESUME; + } data->state.resume_from = attrs.filesize; } }