Added more checks to general header strings.

This commit is contained in:
Caball009
2026-07-23 14:07:08 +02:00
parent 365def1513
commit 09b121a763
+8 -7
View File
@@ -711,9 +711,10 @@ namespace demo_utils
const auto datetime = get_datetime();
const auto protocol = std::to_string(PROTOCOL);
const auto* build_num_ptr = game::LiveStorage_FetchFFotD();
const auto build_num = (build_num_ptr)
? std::string_view(build_num_ptr)
const auto* build_num_bptr = game::LiveStorage_FetchFFotD();
const auto* build_num_eptr = build_num_bptr ? std::find(build_num_bptr, build_num_bptr + 128, '\0') : nullptr;
const auto build_num = (build_num_bptr && std::distance(build_num_bptr, build_num_eptr) > 0 && std::distance(build_num_bptr, build_num_eptr) < 128)
? std::string_view(build_num_bptr, build_num_eptr)
: "unknown_build_number";
const auto svr_name = utils::string::strip(svr_name_sv, true);
@@ -771,14 +772,14 @@ namespace demo_utils
const auto success = game::CL_GetClientNameColorize(0, game::mp::cg->clientNum, buffer.data(), static_cast<int>(buffer.size()));
if (success)
{
player_name = std::string_view(buffer.data());
player_name = std::string_view(buffer.begin(), std::find(buffer.begin(), buffer.end(), '\0'));
}
if (player_name.empty())
if (player_name.empty() || player_name.size() == buffer.size())
{
player_name = get_dvar_string("name", true);
if (player_name.empty())
if (player_name.empty() || player_name.size() >= 64)
{
player_name = "unknown_player_name";
}
@@ -884,7 +885,7 @@ namespace demo_utils
? sv_hostname
: "unknown_server_host_name";
if (player_name.empty())
if (player_name.empty() || player_name.size() >= 64)
{
player_name = "unknown_player_name";
}