summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/nxt_http_request.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/nxt_http_request.c b/src/nxt_http_request.c
index b80998cb..c8adb499 100644
--- a/src/nxt_http_request.c
+++ b/src/nxt_http_request.c
@@ -79,14 +79,20 @@ nxt_int_t
nxt_http_request_content_length(void *ctx, nxt_http_field_t *field,
uintptr_t data)
{
+ nxt_off_t n;
nxt_http_request_t *r;
r = ctx;
-
r->content_length = field;
- r->content_length_n = nxt_off_t_parse(field->value, field->value_length);
- 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;
}