summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2019-02-18 16:51:30 +0300
committerValentin Bartenev <vbart@nginx.com>2019-02-18 16:51:30 +0300
commit2a6b54c23020a24eaadfb4006235ca17dfa877f8 (patch)
tree564b4ebe601c3f1eda951e3309eed7347f39ca26 /src
parent1ba49d925031a74f1a6b6f31991562583f3271b5 (diff)
downloadunit-2a6b54c23020a24eaadfb4006235ca17dfa877f8.tar.gz
unit-2a6b54c23020a24eaadfb4006235ca17dfa877f8.tar.bz2
Rejecting requests with duplicate "Content-Length".
Diffstat (limited to 'src')
-rw-r--r--src/nxt_http_request.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nxt_http_request.c b/src/nxt_http_request.c
index c8adb499..bbc138a7 100644
--- a/src/nxt_http_request.c
+++ b/src/nxt_http_request.c
@@ -83,13 +83,16 @@ nxt_http_request_content_length(void *ctx, nxt_http_field_t *field,
nxt_http_request_t *r;
r = ctx;
- r->content_length = field;
- n = nxt_off_t_parse(field->value, field->value_length);
+ if (nxt_fast_path(r->content_length == NULL)) {
+ r->content_length = field;
- if (nxt_fast_path(n >= 0)) {
- r->content_length_n = n;
- return NXT_OK;
+ n = nxt_off_t_parse(field->value, field->value_length);
+
+ if (nxt_fast_path(n >= 0)) {
+ r->content_length_n = n;
+ return NXT_OK;
+ }
}
return NXT_ERROR;