From ba6ff7b7f4015859586691c7c1ec0149a3ee3858 Mon Sep 17 00:00:00 2001 From: Alex Hultman Date: Thu, 11 May 2023 13:08:22 +0200 Subject: [PATCH] Sometimes I cannot think properly --- src/WebSocket.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/WebSocket.h b/src/WebSocket.h index c8431b6..f209481 100644 --- a/src/WebSocket.h +++ b/src/WebSocket.h @@ -108,14 +108,14 @@ public: /* Special path for long sends of non-compressed, non-SSL messages */ if (message.length() >= 16 * 1024 && !compress && !SSL && !webSocketData->subscriber && getBufferedAmount() == 0 && Super::getLoopData()->corkOffset == 0) { - char header[14]; + char header[10]; int header_length = (int) protocol::formatMessage(header, nullptr, 0, opCode, message.length(), compress, fin); int written = us_socket_write2(0, (struct us_socket_t *)this, header, header_length, message.data(), (int) message.length()); if (written != header_length + (int) message.length()) { /* Buffer up backpressure */ if (written > header_length) { - webSocketData->buffer.append(message.data() + written, message.length() - (size_t) written); + webSocketData->buffer.append(message.data() + written - header_length, message.length() - (size_t) (written - header_length)); } else { webSocketData->buffer.append(header + written, (size_t) header_length - (size_t) written); }