nginx-0.3.55-RELEASE import

    *) Feature: the "stub" parameter in the "include" SSI command.

    *) Feature: the "block" SSI command.

    *) Feature: the unicode2nginx script was added to contrib.

    *) Bugfix: if a "root" was specified by variable only, then the root
       was relative to a server prefix.

    *) Bugfix: if the request contained "//" or "/./" and escaped symbols
       after them, then the proxied request was sent unescaped.

    *) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now
       returns all "Cookie" header lines.

    *) Bugfix: a segmentation fault occurred if
       "client_body_in_file_only on" was used and nginx switched to a next
       upstream.

    *) Bugfix: on some condition while reconfiguration character codes
       inside the "charset_map" may be treated invalid; the bug had
       appeared in 0.3.50.
diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c
index 5cc4d52..460cf39 100644
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -92,6 +92,8 @@
         rb->bufs->buf = b;
         rb->bufs->next = NULL;
 
+        rb->buf = b;
+
         if ((off_t) preread >= r->headers_in.content_length_n) {
 
             /* the whole request body was pre-read */
@@ -124,8 +126,6 @@
 
             /* the whole request body may be placed in r->header_in */
 
-            rb->buf = b;
-
             r->read_event_handler = ngx_http_read_client_request_body_handler;
 
             return ngx_http_do_read_client_request_body(r);