diff --git a/lib/vssh/libssh.c b/lib/vssh/libssh.c index c6dc63ae66..02148d0c18 100644 --- a/lib/vssh/libssh.c +++ b/lib/vssh/libssh.c @@ -1665,6 +1665,8 @@ static CURLcode myssh_statemach_act(struct Curl_easy *data, bool *block) size = 0; } else { + if((to - from) == CURL_OFF_T_MAX) + return CURLE_RANGE_ERROR; size = to - from + 1; } diff --git a/lib/vssh/libssh2.c b/lib/vssh/libssh2.c index e9dfef950d..3a661f81eb 100644 --- a/lib/vssh/libssh2.c +++ b/lib/vssh/libssh2.c @@ -2544,6 +2544,8 @@ static CURLcode ssh_statemach_act(struct Curl_easy *data, bool *block) size = 0; } else { + if((to - from) == CURL_OFF_T_MAX) + return CURLE_RANGE_ERROR; size = to - from + 1; }