#408 Group Member null crashes zone on SpellProcess

Closed
opened 2 years ago by image · 3 comments
image commented 2 years ago

SpellProcess.cpp:2180

                    PlayerGroup* group = world.GetGroupManager()->GetGroup(((Entity*)caster)->GetGroupMemberInfo()->group_id);
                    if (group)
                    {
                        group->MGroupMembers.readlock(__FUNCTION__, __LINE__);
                        deque<GroupMemberInfo*>* members = group->GetMembers();
                        deque<GroupMemberInfo*>::iterator itr;

                        // iterate through list of group members
                        for (itr = members->begin(); itr != members->end(); itr++)
                        {
                            // get group member player info
                            Entity* group_member = (*itr)->member;

                            LogWrite(SPELL__DEBUG, 0, "Player", "%s is group member for spell %s", group_member->GetName(), luaspell->spell->GetName());
                            // if the group member is in the casters zone, and is alive

group_member can be null (while player is zoning)

Other areas where we pull GetMembers needs check for member being null

SpellProcess.cpp:2180 PlayerGroup* group = world.GetGroupManager()->GetGroup(((Entity*)caster)->GetGroupMemberInfo()->group_id); if (group) { group->MGroupMembers.readlock(__FUNCTION__, __LINE__); deque<GroupMemberInfo*>* members = group->GetMembers(); deque<GroupMemberInfo*>::iterator itr; // iterate through list of group members for (itr = members->begin(); itr != members->end(); itr++) { // get group member player info Entity* group_member = (*itr)->member; LogWrite(SPELL__DEBUG, 0, "Player", "%s is group member for spell %s", group_member->GetName(), luaspell->spell->GetName()); // if the group member is in the casters zone, and is alive group_member can be null (while player is zoning) Other areas where we pull GetMembers needs check for member being null
image commented 2 years ago
Collaborator

Other impacted code points:

Bot.cpp:310
Bot.cpp:399


BotCommands.cpp:50
BotCommands.cpp:113
BotCommands.cpp:187

client.cpp:5145

Combat.cpp:1223

SpellProcess.cpp:2352
SpellProcess.cpp:2398
Other impacted code points: ``` Bot.cpp:310 Bot.cpp:399 BotCommands.cpp:50 BotCommands.cpp:113 BotCommands.cpp:187 client.cpp:5145 Combat.cpp:1223 SpellProcess.cpp:2352 SpellProcess.cpp:2398 ```
devn00b commented 2 years ago
Owner

Fixed pending git update. (original and other impacted code points)

Fixed pending git update. (original and other impacted code points)
devn00b commented 2 years ago
Owner

54a61e0c39

I've seen, nor heard any further issues from this patch, closing related issues. I Will re-open if some problem pops back up.

https://git.eq2emu.com/devn00b/EQ2EMu/commit/54a61e0c391817e2e01cb5f93bc9fd8c13526afa I've seen, nor heard any further issues from this patch, closing related issues. I Will re-open if some problem pops back up.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.