From 6d9e544c2072b6fba2bf978066edbd3f5c519034 Mon Sep 17 00:00:00 2001 From: ccrs Date: Fri, 15 Jun 2018 12:56:33 +0200 Subject: Core/Movement: shield ChaseMovementGenerator against a potential crash Since GenericMovementGenerator can be built with any MOTION_TYPE (cherry picked from commit 98fd8d4c748942cc7d7acde97610b7b0688472de) --- .../game/Movement/MovementGenerators/ChaseMovementGenerator.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp index ef0571cbdf0..8f84f248cbd 100644 --- a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp @@ -31,7 +31,10 @@ static bool IsMutualChase(Unit* owner, Unit* target) if (target->GetMotionMaster()->GetCurrentMovementGeneratorType() != CHASE_MOTION_TYPE) return false; - return (dynamic_cast(target->GetMotionMaster()->GetCurrentMovementGenerator())->GetTarget() == owner); + if (ChaseMovementGenerator* movement = dynamic_cast(target->GetMotionMaster()->GetCurrentMovementGenerator())) + return movement->GetTarget() == owner; + + return false; } static bool PositionOkay(Unit* owner, Unit* target, Optional minDistance, Optional maxDistance, Optional angle) -- cgit v1.2.3