Fix mismatched new/delete

This commit is contained in:
Michael Cook (mackal) 2016-05-16 23:22:23 -04:00
parent edc42bf5b6
commit d2888e6cca

View File

@ -200,19 +200,21 @@ bool Database::VerifyMailKey(std::string characterName, int IPAddress, std::stri
return !strcmp(row[0], combinedKey); return !strcmp(row[0], combinedKey);
} }
int Database::FindCharacter(const char *characterName) { int Database::FindCharacter(const char *characterName)
{
char *safeCharName = RemoveApostrophes(characterName); char *safeCharName = RemoveApostrophes(characterName);
std::string query = StringFormat("SELECT `id` FROM `character_data` WHERE `name`='%s' LIMIT 1", safeCharName); std::string query = StringFormat("SELECT `id` FROM `character_data` WHERE `name`='%s' LIMIT 1", safeCharName);
auto results = QueryDatabase(query); auto results = QueryDatabase(query);
if (!results.Success()) { if (!results.Success()) {
safe_delete(safeCharName); safe_delete_array(safeCharName);
return -1; return -1;
} }
safe_delete(safeCharName);
safe_delete_array(safeCharName);
if (results.RowCount() != 1) { if (results.RowCount() != 1) {
Log.Out(Logs::Detail, Logs::UCS_Server, "Bad result from FindCharacter query for character %s", characterName); Log.Out(Logs::Detail, Logs::UCS_Server, "Bad result from FindCharacter query for character %s",
characterName);
return -1; return -1;
} }
@ -618,4 +620,4 @@ void Database::LoadLogSettings(EQEmuLogSys::LogSettings* log_settings){
Log.file_logs_enabled = true; Log.file_logs_enabled = true;
} }
} }
} }