From a3b54e5cae0a7bbf820cc656be03bc08322a41fd Mon Sep 17 00:00:00 2001 From: KimLS Date: Sun, 7 Sep 2014 22:41:42 -0700 Subject: [PATCH] Fix for forage crash --- common/database.cpp | 2 +- zone/forage.cpp | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/common/database.cpp b/common/database.cpp index d1845b82e..88f01a676 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -319,7 +319,7 @@ bool Database::DeleteAccount(const char* name) { } bool Database::SetLocalPassword(uint32 accid, const char* password) { - std::string query = StringFormat("UPDATE account SET password=MD5('%s') where id=%i;", password, accid); + std::string query = StringFormat("UPDATE account SET password=MD5('%s') where id=%i;", EscapeString(password).c_str(), accid); auto results = QueryDatabase(query); diff --git a/zone/forage.cpp b/zone/forage.cpp index 4a39d508d..d1008031a 100644 --- a/zone/forage.cpp +++ b/zone/forage.cpp @@ -356,9 +356,11 @@ void Client::GoFish() inst = m_inv.GetItem(MainCursor); } - std::vector args; - args.push_back(inst); - parse->EventPlayer(EVENT_FISH_SUCCESS, this, "", inst->GetID(), &args); + if(inst) { + std::vector args; + args.push_back(inst); + parse->EventPlayer(EVENT_FISH_SUCCESS, this, "", inst->GetID(), &args); + } } } else @@ -470,9 +472,11 @@ void Client::ForageItem(bool guarantee) { inst = m_inv.GetItem(MainCursor); } - std::vector args; - args.push_back(inst); - parse->EventPlayer(EVENT_FORAGE_SUCCESS, this, "", inst->GetID(), &args); + if(inst) { + std::vector args; + args.push_back(inst); + parse->EventPlayer(EVENT_FORAGE_SUCCESS, this, "", inst->GetID(), &args); + } } int ChanceSecondForage = aabonuses.ForageAdditionalItems + itembonuses.ForageAdditionalItems + spellbonuses.ForageAdditionalItems;