httpd: fix sendfile of files larger than 2 Gb. Closes 4754

When built with "sendfile" support, httpd was unable to send large files
(>2 GB) in one single connection, terminating it before the full file
has been sent.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2012-02-04 21:37:17 +01:00
parent 9ec3cd400a
commit ef43beac63

View File

@ -1623,7 +1623,7 @@ static NOINLINE void send_file_and_exit(const char *url, int what)
break; /* fall back to read/write loop */ break; /* fall back to read/write loop */
goto fin; goto fin;
} }
IF_FEATURE_HTTPD_RANGES(range_len -= sz;) IF_FEATURE_HTTPD_RANGES(range_len -= count;)
if (count == 0 || range_len == 0) if (count == 0 || range_len == 0)
log_and_exit(); log_and_exit();
} }