diff --git a/dll/steam_gameserver.cpp b/dll/steam_gameserver.cpp index bf16d2f..9b51df8 100644 --- a/dll/steam_gameserver.cpp +++ b/dll/steam_gameserver.cpp @@ -45,10 +45,17 @@ bool Steam_GameServer::InitGameServer( uint32 unIP, uint16 usGamePort, uint16 us std::lock_guard lock(global_mutex); if (logged_in) return false; // may not be changed after logged in. + if (!pchVersionString) pchVersionString = ""; + std::string version(pchVersionString); version.erase(std::remove(version.begin(), version.end(), ' '), version.end()); version.erase(std::remove(version.begin(), version.end(), '.'), version.end()); - server_data.set_version(stoi(version)); + try { + server_data.set_version(std::stoi(version)); + } catch (...) { + PRINT_DEBUG("InitGameServer: not a number: %s\n", pchVersionString); + server_data.set_version(0); + } server_data.set_ip(unIP); server_data.set_port(usGamePort); diff --git a/overlay_experimental/steam_overlay.cpp b/overlay_experimental/steam_overlay.cpp index 26fe2bd..5c0fe4d 100644 --- a/overlay_experimental/steam_overlay.cpp +++ b/overlay_experimental/steam_overlay.cpp @@ -801,11 +801,11 @@ void Steam_Overlay::OverlayProc() bool hidden = x.hidden && !achieved; ImGui::Separator(); - ImGui::Text(x.title.c_str()); + ImGui::Text("%s", x.title.c_str()); if (x.hidden) { ImGui::Text("hidden achievement"); } else { - ImGui::TextWrapped(x.description.c_str()); + ImGui::TextWrapped("%s", x.description.c_str()); } if (achieved) {