Project

General

Profile

Actions

Bug #1970

closed

mod_fastcgi.c x-send-file sets incorrect Content-Length on 2GB+ files

Added by DaGoodBoy about 12 years ago. Updated about 12 years ago.

Status:
Fixed
Priority:
Normal
Category:
mod_fastcgi
Target version:
ASK QUESTIONS IN Forums:

Description

Running Debian Lenny and the stock lighttpd 1.4.19.

When transferring large files (>2GB) using x-send-file, the Content-Length header sends the incorrect file size that results in truncated files. In mod_fastcgi.c at around line 2558 you will see this:

buffer_copy_long(dcls->value, sce->st.st_size);

Changing this line to something like this fixes the issue:

char len_str[BUFSIZ];
sprintf(len_str,"%llu",sce->st.st_size);
buffer_copy_string(dcls->value, len_str);

Thanks for writing lighttpd!

Actions #1

Updated by icy about 12 years ago

  • Target version changed from 1.4.19 to 1.4.23

Target version != affected version. That being said: it should probably be changed to buffer_copy_off_t().
Thanks for reporting.

Actions #2

Updated by stbuehler about 12 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Applied in changeset r2494.

Actions

Also available in: Atom