summaryrefslogtreecommitdiff
path: root/src/network/serverpackethandler.cpp
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2021-01-29 15:24:07 +0100
committersfan5 <sfan5@live.de>2021-02-02 20:46:08 +0100
commit674d67f312c815e7f10dc00705e352bc392fc2af (patch)
tree7d6d0567b2f557d1487ce90384121d8ff5e31e1c /src/network/serverpackethandler.cpp
parentc834d2ab25694ef2d67dc24f85f304269d202c8e (diff)
downloadminetest-674d67f312c815e7f10dc00705e352bc392fc2af.tar.gz
minetest-674d67f312c815e7f10dc00705e352bc392fc2af.tar.bz2
minetest-674d67f312c815e7f10dc00705e352bc392fc2af.zip
Encode high codepoints as surrogates to safely transport wchar_t over network
fixes #7643
Diffstat (limited to 'src/network/serverpackethandler.cpp')
-rw-r--r--src/network/serverpackethandler.cpp15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp
index 02af06abc..270b8e01f 100644
--- a/src/network/serverpackethandler.cpp
+++ b/src/network/serverpackethandler.cpp
@@ -752,21 +752,8 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt)
void Server::handleCommand_ChatMessage(NetworkPacket* pkt)
{
- /*
- u16 command
- u16 length
- wstring message
- */
- u16 len;
- *pkt >> len;
-
std::wstring message;
- for (u16 i = 0; i < len; i++) {
- u16 tmp_wchar;
- *pkt >> tmp_wchar;
-
- message += (wchar_t)tmp_wchar;
- }
+ *pkt >> message;
session_t peer_id = pkt->getPeerId();
RemotePlayer *player = m_env->getPlayer(peer_id);