1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Encode high codepoints as surrogates to safely transport wchar_t over network

fixes #7643
This commit is contained in:
sfan5 2021-01-29 15:24:07 +01:00
parent c834d2ab25
commit 674d67f312
5 changed files with 80 additions and 26 deletions

View file

@ -1482,7 +1482,8 @@ void Server::SendChatMessage(session_t peer_id, const ChatMessage &message)
NetworkPacket pkt(TOCLIENT_CHAT_MESSAGE, 0, peer_id);
u8 version = 1;
u8 type = message.type;
pkt << version << type << std::wstring(L"") << message.message << (u64)message.timestamp;
pkt << version << type << message.sender << message.message
<< static_cast<u64>(message.timestamp);
if (peer_id != PEER_ID_INEXISTENT) {
RemotePlayer *player = m_env->getPlayer(peer_id);