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;