httpd: fix sendfile of files larger than 2 Gb. Closes 4754
authorDenys Vlasenko <vda.linux@googlemail.com>
Sat, 4 Feb 2012 20:37:17 +0000 (21:37 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sat, 4 Feb 2012 20:37:17 +0000 (21:37 +0100)
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>
networking/httpd.c

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