From 56ade517e647e06ac2f27162f04ac7e9509cc7fd Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Fri, 6 Dec 2013 20:25:20 +0000 Subject: [PATCH] BETA: Fixing NPE vulnerability for area skills when summon doesn't have a target. Reported by: thorl2 --- .../scripts/handlers/targethandlers/AreaCorpseMob.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaCorpseMob.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaCorpseMob.java index cdf4448b0c..20a4cf52f8 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaCorpseMob.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaCorpseMob.java @@ -39,8 +39,7 @@ public class AreaCorpseMob implements ITargetTypeHandler @Override public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target) { - List<L2Character> targetList = new ArrayList<>(); - if (!target.isL2Attackable() || !target.isDead()) + if ((target == null) || !target.isL2Attackable() || !target.isDead()) { activeChar.sendPacket(SystemMessageId.TARGET_IS_INCORRECT); return EMPTY_TARGET_LIST; @@ -54,10 +53,10 @@ public class AreaCorpseMob implements ITargetTypeHandler }; } + final List<L2Character> targetList = new ArrayList<>(); targetList.add(target); - final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE)); - + final boolean srcInArena = activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE); final Collection<L2Character> objs = activeChar.getKnownList().getKnownCharacters(); for (L2Character obj : objs) { -- GitLab