diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 3a8c5474e..cf859760f 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -2207,12 +2207,18 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max bool Guild::AddMember(ObjectGuid guid, uint8 rankId) { Player* player = ObjectAccessor::FindConnectedPlayer(guid); - Player* leader = ObjectAccessor::FindConnectedPlayer(this->GetLeaderGUID()); + + Player* leader = nullptr; + if (this->GetLeaderGUID()) + { + leader = ObjectAccessor::FindConnectedPlayer(this->GetLeaderGUID()); + } + // Player cannot be in guild if (player) { if (player->GetGuildId() != 0 || - (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) && (leader->GetTeamId() != player->GetTeamId()))) + (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) && (leader && leader->GetTeamId() != player->GetTeamId()))) return false; } else if (sCharacterCache->GetCharacterGuildIdByGuid(guid) != 0)