From c48526d49af7147e8a7f64c26b19d8396a999bcd Mon Sep 17 00:00:00 2001 From: Mr_Goldberg Date: Fri, 9 Apr 2021 14:52:45 -0400 Subject: [PATCH] Fix possible crash. --- dll/steam_user_stats.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dll/steam_user_stats.h b/dll/steam_user_stats.h index a35d3a0..8d22cb7 100644 --- a/dll/steam_user_stats.h +++ b/dll/steam_user_stats.h @@ -239,6 +239,7 @@ bool GetAchievement( const char *pchName, bool *pbAchieved ) try { auto it = defined_achievements_find(pchName); + if (it == defined_achievements.end()) return false; std::string pch_name = it->value("name", std::string()); auto ach = user_achievements.find(pch_name); @@ -261,6 +262,7 @@ bool SetAchievement( const char *pchName ) try { auto it = defined_achievements_find(pchName); + if (it == defined_achievements.end()) return false; std::string pch_name = it->value("name", std::string()); if (it != defined_achievements.end()) { @@ -288,6 +290,7 @@ bool ClearAchievement( const char *pchName ) try { auto it = defined_achievements_find(pchName); + if (it == defined_achievements.end()) return false; std::string pch_name = it->value("name", std::string()); if (it != defined_achievements.end()) { @@ -313,6 +316,7 @@ bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 try { auto it = defined_achievements_find(pchName); + if (it == defined_achievements.end()) return false; std::string pch_name = it->value("name", std::string()); auto ach = user_achievements.find(pch_name); @@ -417,6 +421,8 @@ bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint try { auto it = defined_achievements_find(pchName); + if (it == defined_achievements.end()) return false; + std::string pch_name = it->value("name", std::string()); auto ach = user_achievements.find(pch_name);