Fix some leaks of groups/raids (#1242)

These cases probably are exceedingly rare, but they still need to be
accounted for. (As in, I don't think anyone has run into these cases too
often to cause problems)
This commit is contained in:
Michael Cook (mackal) 2021-02-12 03:07:58 -05:00 committed by GitHub
parent f9923ffda0
commit 0ef01165ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 3 deletions

View File

@ -8605,6 +8605,8 @@ void Bot::ProcessBotGroupInvite(Client* c, std::string botName) {
g->SaveGroupLeaderAA();
database.SetGroupID(c->GetName(), g->GetID(), c->CharacterID());
database.SetGroupID(invitedBot->GetCleanName(), g->GetID(), invitedBot->GetBotID());
} else {
delete g;
}
} else {
AddBotToGroup(invitedBot, c->GetGroup());

View File

@ -561,8 +561,9 @@ void Client::CompleteConnect()
entity_list.AddRaid(raid, raidid);
raid->LoadLeadership(); // Recreating raid in new zone, get leadership from DB
}
else
raid = nullptr;
else {
safe_delete(raid);
}
}
if (raid) {
SetRaidGrouped(true);

View File

@ -1016,7 +1016,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
if (group->GetID() != 0)
entity_list.AddGroup(group, groupid);
else
group = nullptr;
safe_delete(group);
}
if (group)