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;