From b2749cefb0f4fe35a3be0af23786b0c59ed87ab3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 14 Sep 2019 22:10:12 +0800 Subject: [PATCH] 1 --- server/gameserver/GCListener.cc | 2 +- server/gameserver/global.cc | 3 +++ server/gameserver/playermgr.cc | 3 ++- server/tools/protobuild/cs_msgid.proto | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/gameserver/GCListener.cc b/server/gameserver/GCListener.cc index fa03793..7ad4156 100644 --- a/server/gameserver/GCListener.cc +++ b/server/gameserver/GCListener.cc @@ -100,7 +100,7 @@ public: header.size = ((header.size & 0x00FF) << 8) + ((header.size & 0xFF00) >> 8); - if (buflen - offset < sizeof(ClientPktHeader) + header.size) { + if (buflen - offset < sizeof(ClientPktHeader) + header.size - 4) { break; } header.size -= 4; diff --git a/server/gameserver/global.cc b/server/gameserver/global.cc index ed1ba1d..440c3df 100755 --- a/server/gameserver/global.cc +++ b/server/gameserver/global.cc @@ -35,6 +35,9 @@ bool CustomParser(f8::MsgHdr& hdr, google::protobuf::Message* msg) if ((size_t)hdr.offset + fixed_len > (size_t)hdr.buflen) { abort(); } + std::string val(&hdr.buf[hdr.offset], fixed_len); + reflection->SetString(msg, field_desc, val); + hdr.offset += val.size() + 1; } else { if ((size_t)hdr.offset > (size_t)hdr.buflen) { abort(); diff --git a/server/gameserver/playermgr.cc b/server/gameserver/playermgr.cc index f1c5ac5..0f51920 100644 --- a/server/gameserver/playermgr.cc +++ b/server/gameserver/playermgr.cc @@ -1,6 +1,7 @@ #include "precompile.h" #include "playermgr.h" +#include "cs_proto.pb.h" void PlayerMgr::Init() { @@ -14,7 +15,7 @@ void PlayerMgr::UnInit() void PlayerMgr::_CMAuthSession(f8::MsgHdr& hdr, const cs::CMAuthSession& msg) { - + std::string digest = msg.digest(); } int PlayerMgr::OnlineNum() diff --git a/server/tools/protobuild/cs_msgid.proto b/server/tools/protobuild/cs_msgid.proto index b67751b..9d2ba1e 100644 --- a/server/tools/protobuild/cs_msgid.proto +++ b/server/tools/protobuild/cs_msgid.proto @@ -1,7 +1,7 @@ package cs; //消息id定义 -enum CMessageId_e +enum CMMessageId_e { _CMAuthSession = 0x1ED; }