From 7b085e9c8bbf7e51a5f58e966c3461b0a73d76a4 Mon Sep 17 00:00:00 2001 From: CPunch Date: Thu, 20 Aug 2020 18:50:30 -0500 Subject: [PATCH] added sanity checks --- src/CNShardServer.hpp | 3 ++- src/ChatManager.cpp | 3 +++ src/NanoManager.cpp | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/CNShardServer.hpp b/src/CNShardServer.hpp index 2f69e73..c403f99 100644 --- a/src/CNShardServer.hpp +++ b/src/CNShardServer.hpp @@ -29,6 +29,7 @@ enum SHARDPACKETID { P_FE2CL_REP_NANO_ACTIVE_SUCC = 822083624, P_FE2CL_REP_PC_ENTER_SUCC = 822083586, P_FE2CL_REP_PC_LOADING_COMPLETE_SUCC = 822083833, + P_FE2CL_REP_PC_GOTO_SUCC = 822083633, P_FE2CL_REQ_LIVE_CHECK = 822083792, P_FE2CL_PC_NEW = 822083587, P_FE2CL_PC_MOVE = 822083592, @@ -42,7 +43,7 @@ enum SHARDPACKETID { P_FE2CL_PC_SLOPE = 822083705, P_FE2CL_NPC_ENTER = 822083595, P_FE2CL_NPC_EXIT = 822083596, - P_FE2CL_REP_PC_GOTO_SUCC = 822083633, + P_FE2CL_ANNOUNCE_MSG = 822083778, P_FE2CL_GM_REP_PC_SET_VALUE = 822083781, P_FE2CL_REP_SEND_FREECHAT_MESSAGE_SUCC = 822083602, P_FE2CL_REP_PC_AVATAR_EMOTES_CHAT = 822083730, diff --git a/src/ChatManager.cpp b/src/ChatManager.cpp index 451bd15..efbc77f 100644 --- a/src/ChatManager.cpp +++ b/src/ChatManager.cpp @@ -9,6 +9,9 @@ void ChatManager::init() { } void ChatManager::chatHandler(CNSocket* sock, CNPacketData* data) { + if (data->size != sizeof(sP_CL2FE_REQ_SEND_FREECHAT_MESSAGE)) + return; // malformed packet + sP_CL2FE_REQ_SEND_FREECHAT_MESSAGE* chat = (sP_CL2FE_REQ_SEND_FREECHAT_MESSAGE*)data->buf; PlayerView plr = PlayerManager::players[sock]; diff --git a/src/NanoManager.cpp b/src/NanoManager.cpp index 4f7e5f8..5d2a560 100644 --- a/src/NanoManager.cpp +++ b/src/NanoManager.cpp @@ -8,6 +8,9 @@ void NanoManager::init() { } void NanoManager::nanoSummonHandler(CNSocket* sock, CNPacketData* data) { + if (data->size != sizeof(sP_CL2FE_REQ_NANO_ACTIVE)) + return; // malformed packet + sP_CL2FE_REQ_NANO_ACTIVE* nano = (sP_CL2FE_REQ_NANO_ACTIVE*)data->buf; PlayerView plr = PlayerManager::players[sock];