diff options
| author | kaelima <kaelima@live.se> | 2012-03-02 12:23:16 +0100 |
|---|---|---|
| committer | kaelima <kaelima@live.se> | 2012-03-02 12:23:16 +0100 |
| commit | 394dbf0cdceea425a1ad63ecebc614e29728d365 (patch) | |
| tree | bc6ac08f53fa5cf98135545071fa60a7bdf8b875 /src/server/game/Calendar/CalendarMgr.cpp | |
| parent | 254256668b9751177051a72135a400387fac1d19 (diff) | |
Core/Misc: Fix a crash in CalendarMgr::AddAction and initialize some wild pointers.
Diffstat (limited to 'src/server/game/Calendar/CalendarMgr.cpp')
| -rw-r--r-- | src/server/game/Calendar/CalendarMgr.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp index b286abba81e..761bbb9b496 100644 --- a/src/server/game/Calendar/CalendarMgr.cpp +++ b/src/server/game/Calendar/CalendarMgr.cpp @@ -375,7 +375,7 @@ void CalendarMgr::AddAction(CalendarAction const& action) uint64 eventId = action.Invite.GetEventId(); uint64 inviteId = action.Invite.GetInviteId(); - CalendarEvent* calendarEvent; + CalendarEvent* calendarEvent = NULL; if (action.GetInviteId() != action.Invite.GetInviteId()) calendarEvent = CheckPermisions(eventId, action.GetPlayer(), action.GetInviteId(), CALENDAR_RANK_MODERATOR); else @@ -395,7 +395,7 @@ void CalendarMgr::AddAction(CalendarAction const& action) uint64 eventId = action.Invite.GetEventId(); uint64 inviteId = action.Invite.GetInviteId(); - CalendarEvent* calendarEvent; + CalendarEvent* calendarEvent = NULL; if (action.GetInviteId() != action.Invite.GetInviteId()) calendarEvent = CheckPermisions(eventId, action.GetPlayer(), action.GetInviteId(), CALENDAR_RANK_OWNER); else @@ -420,6 +420,9 @@ void CalendarMgr::AddAction(CalendarAction const& action) // already checked in CheckPermisions CalendarInvite* invite = GetInvite(inviteId); + if (!invite) + return; + if (calendarEvent->GetCreatorGUID() == invite->GetInvitee()) { action.GetPlayer()->GetSession()->SendCalendarCommandResult(CALENDAR_ERROR_DELETE_CREATOR_FAILED); |
