From cb3fce964d8fda3c9e65ee2c07467b0b5078caac Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Sun, 12 Apr 2026 23:27:16 +0200 Subject: [PATCH] fix: cast len to 64 bits before right shift in ws (#2426) Fixes WebSocketIntegrationTest.LargeMessage and WebSocketIntegrationTest.MaxPayloadAtLimit on i386 --- httplib.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/httplib.h b/httplib.h index d57dcfc3..c5ae2c8a 100644 --- a/httplib.h +++ b/httplib.h @@ -4727,7 +4727,8 @@ inline bool write_websocket_frame(Stream &strm, ws::Opcode opcode, if (strm.write(reinterpret_cast(header), 2) < 0) { return false; } uint8_t ext[8]; for (int i = 7; i >= 0; i--) { - ext[7 - i] = static_cast((len >> (i * 8)) & 0xFF); + ext[7 - i] = + static_cast((static_cast(len) >> (i * 8)) & 0xFF); } if (strm.write(reinterpret_cast(ext), 8) < 0) { return false; } }