diff --git a/server/imserver/gamelog.cc b/server/imserver/gamelog.cc index 78d2272..75c7e1a 100644 --- a/server/imserver/gamelog.cc +++ b/server/imserver/gamelog.cc @@ -402,3 +402,4 @@ void GameLog::GuildAgreeInvite(Guild* guild, GuildMember* sender) delete prop; prop = nullptr; } + diff --git a/server/rankserver/guildmgr.cc b/server/rankserver/guildmgr.cc index fd40e63..cc9e8fe 100644 --- a/server/rankserver/guildmgr.cc +++ b/server/rankserver/guildmgr.cc @@ -19,6 +19,8 @@ const size_t MAX_RANK_LIST_NUM = 50; const size_t MAX_SORTED_LIST_NUM = 5000; const char* const NAME_MAGIC_SYMBOL = "@"; +const size_t MAX_GUILD_NAME_LEN = 10; +const size_t MAX_GUILD_DECLARATION_LEN = 30; static bool RankCmpFunc(const cs::MFGuildBasic* a, const cs::MFGuildBasic* b) { @@ -163,6 +165,18 @@ void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request) delete guild; return; } + if (a8::GetUtf8Length(guild->guild_name().c_str()) > MAX_GUILD_NAME_LEN) { + request->resp_xobj->SetVal("errcode", 3); + request->resp_xobj->SetVal("errmsg", "战队名字长度超过限制"); + delete guild; + return; + } + if (a8::GetUtf8Length(guild->guild_declaration().c_str()) > MAX_GUILD_DECLARATION_LEN) { + request->resp_xobj->SetVal("errcode", 3); + request->resp_xobj->SetVal("errmsg", "战队宣言长度超过限制"); + delete guild; + return; + } if (MetaMgr::Instance()->HasDirtyWord(guild->guild_name())) { request->resp_xobj->SetVal("errcode", 4); request->resp_xobj->SetVal("errmsg", "战斗名含有违禁字符"); @@ -378,6 +392,18 @@ void GuildMgr::__GuildRename(f8::JsonHttpRequest* request) request->resp_xobj->SetVal("errmsg", "战斗名已经存在"); return; } + if (a8::GetUtf8Length(guild_name.c_str()) > MAX_GUILD_NAME_LEN) { + request->resp_xobj->SetVal("errcode", 3); + request->resp_xobj->SetVal("errmsg", "战队名字长度超过限制"); + delete guild; + return; + } + if (a8::GetUtf8Length(guild_declaration.c_str()) > MAX_GUILD_DECLARATION_LEN) { + request->resp_xobj->SetVal("errcode", 3); + request->resp_xobj->SetVal("errmsg", "战队宣言长度超过限制"); + delete guild; + return; + } if (MetaMgr::Instance()->HasDirtyWord(guild_name)) { request->resp_xobj->SetVal("errcode", 1); request->resp_xobj->SetVal("errmsg", "战斗名含有违禁字符"); diff --git a/third_party/a8engine b/third_party/a8engine index 9051232..a0d01a5 160000 --- a/third_party/a8engine +++ b/third_party/a8engine @@ -1 +1 @@ -Subproject commit 90512323d4271016e64241df2ac4b6d72f005763 +Subproject commit a0d01a57a5792268b7dd0c144dfda00e7e171d80