From e2973f39f372235c2ae377d85a1c5a3c4582e967 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 20 Apr 2017 22:52:37 +0000 Subject: always set non-negative Content-Length for requests Negative len.content is used to denote chunked responses on #body_bytes_left, but we don't use that for request parsing. --- ext/kcar/kcar.rl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/kcar/kcar.rl b/ext/kcar/kcar.rl index c85eb3c..336af55 100644 --- a/ext/kcar/kcar.rl +++ b/ext/kcar/kcar.rl @@ -199,6 +199,8 @@ static void finalize_header(struct http_parser *hp, VALUE hdr) rb_raise(eParserError, "Content-Length set with chunked encoding"); else hp->len.chunk = 0; + } else if (hp->len.content < 0) { + hp->len.content = 0; } if (!hp->has_query) -- cgit v1.2.3-24-ge0c7