[nginx] Fixed sendfile() trailers on OS X (8e903522c17a, 1.7.8).

Maxim Dounin mdounin at mdounin.ru
Tue Jan 13 16:49:11 UTC 2015


details:   http://hg.nginx.org/nginx/rev/7554c83287dc
branches:  
changeset: 5961:7554c83287dc
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Tue Jan 13 18:58:23 2015 +0300
description:
Fixed sendfile() trailers on OS X (8e903522c17a, 1.7.8).

The trailer.count variable was not initialized if there was a header,
resulting in "sendfile() failed (22: Invalid argument)" alerts on OS X
if the "sendfile" directive was used.  The bug was introduced
in 8e903522c17a (1.7.8).

diffstat:

 src/os/unix/ngx_darwin_sendfile_chain.c |  3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diffs (13 lines):

diff --git a/src/os/unix/ngx_darwin_sendfile_chain.c b/src/os/unix/ngx_darwin_sendfile_chain.c
--- a/src/os/unix/ngx_darwin_sendfile_chain.c
+++ b/src/os/unix/ngx_darwin_sendfile_chain.c
@@ -111,6 +111,9 @@ ngx_darwin_sendfile_chain(ngx_connection
                 }
 
                 send += trailer.size;
+
+            } else {
+                trailer.count = 0;
             }
 
             /*



More information about the nginx-devel mailing list