Browse Source

Merge pull request #102128 from Faless/fix/ws_buffering_again

[WS] Fix wslay multi-frame message parsing (again)
Thaddeus Crews 6 months ago
parent
commit
4a7ce6070d
1 changed files with 1 additions and 1 deletions
  1. 1 1
      modules/websocket/wsl_peer.cpp

+ 1 - 1
modules/websocket/wsl_peer.cpp

@@ -598,7 +598,6 @@ void WSLPeer::_wsl_recv_start_callback(wslay_event_context_ptr ctx, const struct
 		// Get ready to process a data package.
 		PendingMessage &pm = peer->pending_message;
 		pm.opcode = op;
-		pm.payload_size = arg->payload_length;
 	}
 }
 
@@ -608,6 +607,7 @@ void WSLPeer::_wsl_frame_recv_chunk_callback(wslay_event_context_ptr ctx, const
 	if (pm.opcode != 0) {
 		// Only write the payload.
 		peer->in_buffer.write_packet(arg->data, arg->data_length, nullptr);
+		pm.payload_size += arg->data_length;
 	}
 }