From f85add14db33b5c994e745612f6d10463fd96bd0 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Fri, 6 May 2016 21:31:46 -0400 Subject: [PATCH] Fix some undefined behavior issues? MakeAnyLenString results in UB (I think?) and is aggressively optimized out with clang GrantAlternateAdvancementAbility were missing return statements and clang had fun times with those functions too --- common/database.cpp | 8 +------- zone/lua_client.cpp | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/common/database.cpp b/common/database.cpp index f223418ab..f33569fd2 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -860,17 +860,11 @@ void Database::GetCharName(uint32 char_id, char* name) { } bool Database::LoadVariables() { - char *query = nullptr; - - auto results = QueryDatabase(query, LoadVariables_MQ(&query)); + auto results = QueryDatabase(StringFormat("SELECT varname, value, unix_timestamp() FROM variables where unix_timestamp(ts) >= %d", varcache_lastupdate)); if (!results.Success()) - { - safe_delete_array(query); return false; - } - safe_delete_array(query); return LoadVariables_result(std::move(results)); } diff --git a/zone/lua_client.cpp b/zone/lua_client.cpp index 331067d36..935516040 100644 --- a/zone/lua_client.cpp +++ b/zone/lua_client.cpp @@ -1049,12 +1049,12 @@ void Lua_Client::IncrementAA(int aa) { bool Lua_Client::GrantAlternateAdvancementAbility(int aa_id, int points) { Lua_Safe_Call_Bool(); - self->GrantAlternateAdvancementAbility(aa_id, points); + return self->GrantAlternateAdvancementAbility(aa_id, points); } bool Lua_Client::GrantAlternateAdvancementAbility(int aa_id, int points, bool ignore_cost) { Lua_Safe_Call_Bool(); - self->GrantAlternateAdvancementAbility(aa_id, points, ignore_cost); + return self->GrantAlternateAdvancementAbility(aa_id, points, ignore_cost); } void Lua_Client::MarkSingleCompassLoc(float in_x, float in_y, float in_z) {