Mercurial > hg > nginx
comparison src/http/ngx_http_request_body.c @ 6047:e2e609f59094
Request body: free chain links in ngx_http_write_request_body().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 23 Mar 2015 21:09:12 +0300 |
parents | b8926ba4d087 |
children | 9e231d4cecca |
comparison
equal
deleted
inserted
replaced
6046:66176dfea01e | 6047:e2e609f59094 |
---|---|
413 | 413 |
414 static ngx_int_t | 414 static ngx_int_t |
415 ngx_http_write_request_body(ngx_http_request_t *r) | 415 ngx_http_write_request_body(ngx_http_request_t *r) |
416 { | 416 { |
417 ssize_t n; | 417 ssize_t n; |
418 ngx_chain_t *cl; | 418 ngx_chain_t *cl, *ln; |
419 ngx_temp_file_t *tf; | 419 ngx_temp_file_t *tf; |
420 ngx_http_request_body_t *rb; | 420 ngx_http_request_body_t *rb; |
421 ngx_http_core_loc_conf_t *clcf; | 421 ngx_http_core_loc_conf_t *clcf; |
422 | 422 |
423 rb = r->request_body; | 423 rb = r->request_body; |
476 | 476 |
477 rb->temp_file->offset += n; | 477 rb->temp_file->offset += n; |
478 | 478 |
479 /* mark all buffers as written */ | 479 /* mark all buffers as written */ |
480 | 480 |
481 for (cl = rb->bufs; cl; cl = cl->next) { | 481 for (cl = rb->bufs; cl; /* void */) { |
482 | |
482 cl->buf->pos = cl->buf->last; | 483 cl->buf->pos = cl->buf->last; |
484 | |
485 ln = cl; | |
486 cl = cl->next; | |
487 ngx_free_chain(r->pool, ln); | |
483 } | 488 } |
484 | 489 |
485 rb->bufs = NULL; | 490 rb->bufs = NULL; |
486 | 491 |
487 return NGX_OK; | 492 return NGX_OK; |