From 1836d8f319df356d0bbb03b0fcaf1aacb30920b3 Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Thu, 22 May 2014 00:53:15 +0000
Subject: [PATCH] BETA: Fixing minor NPE vulnerability on TvT Manager.

Reported by: siphonex
---
 .../custom/events/TvT/TvTManager/TvTManager.java | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/events/TvT/TvTManager/TvTManager.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/events/TvT/TvTManager/TvTManager.java
index 726bf5856d..0567e0f2dc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/events/TvT/TvTManager/TvTManager.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/events/TvT/TvTManager/TvTManager.java
@@ -163,32 +163,38 @@ public final class TvTManager extends AbstractNpcAI implements IVoicedCommandHan
 	@Override
 	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
 	{
+		String html = null;
 		switch (command)
 		{
 			case "tvt":
 			{
 				if (TvTEvent.isStarting() || TvTEvent.isStarted())
 				{
-					activeChar.sendPacket(new NpcHtmlMessage(getTvTStatus(activeChar)));
+					html = getTvTStatus(activeChar);
 				}
 				else
 				{
-					activeChar.sendMessage("The event has not started.");
+					html = "The event has not started.";
 				}
 				break;
 			}
 			case "tvtjoin":
 			{
-				activeChar.sendPacket(new NpcHtmlMessage(onAdvEvent("join", null, activeChar)));
+				html = onAdvEvent("join", null, activeChar);
 				break;
 			}
 			case "tvtleave":
 			{
-				activeChar.sendPacket(new NpcHtmlMessage(onAdvEvent("remove", null, activeChar)));
+				html = onAdvEvent("remove", null, activeChar);
 				break;
 			}
 		}
-		return false;
+		
+		if (html != null)
+		{
+			activeChar.sendPacket(new NpcHtmlMessage(html));
+		}
+		return true;
 	}
 	
 	private String getTvTStatus(L2PcInstance player)
-- 
GitLab