LibWeb: Account for header size when reading MessagePort message payload

Previously, the fact that this wasn't accounted for could lead to a
crash when large messages were received.
This commit is contained in:
Tim Ledbetter 2024-07-30 15:04:32 +01:00 committed by Andreas Kling
parent f735c464d3
commit 34e465a67e
Notes: github-actions[bot] 2024-08-01 09:41:31 +00:00

View file

@ -279,7 +279,7 @@ ErrorOr<MessagePort::ParseDecision> MessagePort::parse_message()
[[fallthrough]];
}
case SocketState::Data: {
if (num_bytes_ready < m_socket_incoming_message_size)
if (num_bytes_ready < HEADER_SIZE + m_socket_incoming_message_size)
return ParseDecision::NotEnoughData;
auto payload = m_buffered_data.span().slice(HEADER_SIZE, m_socket_incoming_message_size);