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