clear uninitialized client memory in simple mail on proxy server

This commit is contained in:
Martin Michelsen
2022-04-21 16:01:03 -07:00
parent b0828a3dfe
commit abb76c142b
+3 -1
View File
@@ -639,8 +639,8 @@ static bool process_client_40(shared_ptr<ServerState>,
template <typename CmdT>
static bool process_client_81(shared_ptr<ServerState>,
ProxyServer::LinkedSession& session, uint16_t, uint32_t, string& data) {
auto& cmd = check_size_t<SC_SimpleMail_GC_81>(data);
if (session.license) {
auto& cmd = check_size_t<SC_SimpleMail_GC_81>(data);
if (cmd.from_guild_card_number == session.license->serial_number) {
cmd.from_guild_card_number = session.remote_guild_card_number;
}
@@ -648,6 +648,8 @@ static bool process_client_81(shared_ptr<ServerState>,
cmd.to_guild_card_number = session.remote_guild_card_number;
}
}
// GC clients send uninitialized memory here; don't forward it
cmd.text.clear_after(cmd.text.len());
return true;
}