[nginx] svn commit: r4461 - trunk/src/http

mdounin at mdounin.ru mdounin at mdounin.ru
Fri Feb 10 14:31:04 UTC 2012


Author: mdounin
Date: 2012-02-10 14:31:04 +0000 (Fri, 10 Feb 2012)
New Revision: 4461

Log:
Upstream: fixed "too big header" check.

If header filter postponed processing of a header by returning NGX_AGAIN
and not moved u->buffer->pos, previous check incorrectly assumed there
is additional space and did another recv() with zero-size buffer.  This
resulted in "upstream prematurely closed connection" error instead
of correct "upstream sent too big header" one.

Patch by Feibo Li.


Modified:
   trunk/src/http/ngx_http_upstream.c

Modified: trunk/src/http/ngx_http_upstream.c
===================================================================
--- trunk/src/http/ngx_http_upstream.c	2012-02-10 11:24:19 UTC (rev 4460)
+++ trunk/src/http/ngx_http_upstream.c	2012-02-10 14:31:04 UTC (rev 4461)
@@ -1591,7 +1591,7 @@
 
         if (rc == NGX_AGAIN) {
 
-            if (u->buffer.pos == u->buffer.end) {
+            if (u->buffer.last == u->buffer.end) {
                 ngx_log_error(NGX_LOG_ERR, c->log, 0,
                               "upstream sent too big header");
 



More information about the nginx-devel mailing list