From 513848c7ea7cb2da5123f498df0277409b804e27 Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Sun, 16 Sep 2012 02:48:02 +0000
Subject: [PATCH] BETA: NPE vulnerability fix. 	* Closing #5358

---
 .../admincommandhandlers/AdminAdmin.java      | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java
index d1ea369118..0aa2c9cf4f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java
@@ -87,7 +87,6 @@ public class AdminAdmin implements IAdminCommandHandler
 	@Override
 	public boolean useAdminCommand(String command, L2PcInstance activeChar)
 	{
-		
 		if (command.startsWith("admin_admin"))
 		{
 			showMainPage(activeChar, command);
@@ -137,22 +136,18 @@ public class AdminAdmin implements IAdminCommandHandler
 			{
 				_log.warning("An error occured while ending olympiad: " + e);
 			}
-			activeChar.sendMessage("Heroes formed");
+			activeChar.sendMessage("Heroes formed.");
 		}
 		else if (command.startsWith("admin_manualhero") || command.startsWith("admin_sethero"))
 		{
-			L2PcInstance target = null;
-			
-			if (activeChar.getTarget().isPlayer())
+			if (activeChar.getTarget() == null)
 			{
-				target = activeChar.getTarget().getActingPlayer();
-				target.setHero(target.isHero() ? false : true);
-			}
-			else
-			{
-				target = activeChar;
-				target.setHero(target.isHero() ? false : true);
+				activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET);
+				return false;
 			}
+			
+			final L2PcInstance target = activeChar.getTarget().isPlayer() ?  activeChar.getTarget().getActingPlayer() : activeChar;
+			target.setHero(!target.isHero());
 			target.broadcastUserInfo();
 		}
 		else if (command.startsWith("admin_diet"))
-- 
GitLab