From ede1befffa51a64feb235dda9de527a756c6c367 Mon Sep 17 00:00:00 2001 From: Sergey Lyubka Date: Tue, 25 Dec 2012 11:05:19 +0000 Subject: [PATCH] Fix read_websocket() for content length > 125 --- mongoose.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mongoose.c b/mongoose.c index d994e88d..1f5af59b 100644 --- a/mongoose.c +++ b/mongoose.c @@ -3803,10 +3803,10 @@ static void read_websocket(struct mg_connection *conn) { conn->content_len = 2 + mask_len + len; mask = buf + 2; } else if (len == 126 && body_len >= 4) { - conn->content_len = 2 + mask_len + ((((int) buf[2]) << 8) + buf[3]); + conn->content_len = 4 + mask_len + ((((int) buf[2]) << 8) + buf[3]); mask = buf + 4; } else if (body_len >= 10) { - conn->content_len = 2 + mask_len + + conn->content_len = 10 + mask_len + (((uint64_t) htonl(* (uint32_t *) &buf[2])) << 32) | htonl(* (uint32_t *) &buf[6]); mask = buf + 10;