summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http_request_body.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-03-23 06:01:52 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-03-23 06:01:52 +0000
commit89690bfe02703853c3e987d1e5c4d9878c4d28f0 (patch)
treec5d9a59cdd74b54ffa939dcf59886307f26c984c /src/http/ngx_http_request_body.c
parentae02c19867083c6ad3e51506109cb37bca1d36d1 (diff)
downloadnginx-89690bfe02703853c3e987d1e5c4d9878c4d28f0.tar.gz
nginx-89690bfe02703853c3e987d1e5c4d9878c4d28f0.tar.bz2
nginx-0.0.3-2004-03-23-09:01:52 import
Diffstat (limited to 'src/http/ngx_http_request_body.c')
-rw-r--r--src/http/ngx_http_request_body.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c
index 2bc63f780..99ac8aad3 100644
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -12,7 +12,6 @@ static ngx_int_t ngx_http_do_read_client_request_body(ngx_http_request_t *r);
ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r,
size_t request_buffer_size)
{
- ngx_int_t rc;
ssize_t size;
ngx_hunk_t *h;
ngx_chain_t *cl;
@@ -143,12 +142,17 @@ static ngx_int_t ngx_http_do_read_client_request_body(ngx_http_request_t *r)
}
if (n == 0 || n == NGX_ERROR) {
+ r->closed = 1;
return NGX_HTTP_BAD_REQUEST;
}
r->request_body_hunk->last += n;
r->request_body_len -= n;
+ if (r->request_body_len == 0) {
+ break;
+ }
+
if (r->request_body_hunk->last < r->request_body_hunk->end) {
break;
}