From ff9d0e462e3c51fbca87a536361f62df6bbfeb9a Mon Sep 17 00:00:00 2001 From: cpq Date: Tue, 9 Mar 2021 08:22:52 +0000 Subject: [PATCH] Tiny refactor in walkchunks() --- src/http.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/http.c b/src/http.c index 0245a6f3..78b834b9 100644 --- a/src/http.c +++ b/src/http.c @@ -770,7 +770,7 @@ static size_t get_chunk_length(const char *buf, size_t len, size_t *ll) { static void walkchunks(struct mg_connection *c, struct mg_http_message *hm, int reqlen) { size_t off = 0, bl, ll; - while (off < c->recv.len - reqlen) { + while (off + reqlen < c->recv.len) { char *buf = (char *) &c->recv.buf[reqlen]; size_t memo = c->recv.len; size_t cl = get_chunk_length(&buf[off], memo - reqlen - off, &ll); @@ -783,7 +783,7 @@ static void walkchunks(struct mg_connection *c, struct mg_http_message *hm, if (cl <= 5) { // Zero chunk - last one. Prepare body - cut off chunk lengths off = bl = 0; - while (off < c->recv.len - reqlen) { + while (off + reqlen < c->recv.len) { char *buf = (char *) &c->recv.buf[reqlen]; size_t memo = c->recv.len; size_t cl = get_chunk_length(&buf[off], memo - reqlen - off, &ll);