|
@@ -3726,7 +3726,7 @@ static void read_websocket(struct mg_connection *conn) {
|
|
|
mask = buf + 4;
|
|
|
} else if (body_len >= 10) {
|
|
|
conn->content_len = 2 + mask_len +
|
|
|
- ((uint64_t) htonl(* (uint32_t *) &buf[2])) << 32 |
|
|
|
+ (((uint64_t) htonl(* (uint32_t *) &buf[2])) << 32) |
|
|
|
htonl(* (uint32_t *) &buf[6]);
|
|
|
mask = buf + 10;
|
|
|
}
|
|
@@ -3736,7 +3736,8 @@ static void read_websocket(struct mg_connection *conn) {
|
|
|
if (call_user(conn, MG_WEBSOCKET_MESSAGE) != NULL) {
|
|
|
break; // Callback signalled to exit
|
|
|
}
|
|
|
- discard_len = conn->content_len > body_len ? body_len : conn->content_len;
|
|
|
+ discard_len = conn->content_len > body_len ?
|
|
|
+ body_len : (int) conn->content_len;
|
|
|
memmove(buf, buf + discard_len, conn->data_len - discard_len);
|
|
|
conn->data_len -= discard_len;
|
|
|
conn->content_len = conn->consumed_content = 0;
|