[git commit] httpd: fix sendfile of files larger than 2 Gb. Closes 4754

Denys Vlasenko vda.linux at googlemail.com
Sat Feb 4 20:37:17 UTC 2012


commit: http://git.busybox.net/busybox/commit/?id=ef43beac63aa7e4b2bccb069e47b5e4902bb895f
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at googlemail.com>
---
 networking/httpd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/networking/httpd.c b/networking/httpd.c
index 0e4c697..ba95631 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -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();
 		}


More information about the busybox-cvs mailing list