diff --git a/esp3d/src/modules/websocket/websocket_server.cpp b/esp3d/src/modules/websocket/websocket_server.cpp index 4d793e8b..12b42623 100644 --- a/esp3d/src/modules/websocket/websocket_server.cpp +++ b/esp3d/src/modules/websocket/websocket_server.cpp @@ -268,6 +268,10 @@ size_t WebSocket_Server::writeBytes(const uint8_t *buffer, size_t size) { } // need periodic check to force to flush in case of no end for (uint i = 0; i < size; i++) { + //add a sanity check to avoid buffer overflow + if (_TXbufferSize >= TXBUFFERSIZE) { + flushTXbuffer(); + } _TXbuffer[_TXbufferSize] = buffer[i]; _TXbufferSize++; }