From 47e65433711ab6afa970636eae9d19d49faf07ec Mon Sep 17 00:00:00 2001 From: high Date: Mon, 15 Aug 2011 19:27:30 -0400 Subject: [PATCH] Fixed exception on empty item slots. --- TShockAPI/GetDataHandlers.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 55e21e84..69617795 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -144,11 +144,16 @@ namespace TShockAPI int plr = args.Data.ReadInt8(); int slot = args.Data.ReadInt8(); int stack = args.Data.ReadInt8(); - string itemname = Encoding.ASCII.GetString(args.Data.ReadBytes((int)(args.Data.Length - args.Data.Position - 1))); + int namelength = (int)(args.Data.Length - args.Data.Position - 1); - if (!args.Player.Group.HasPermission("usebanneditem") && TShock.Itembans.ItemIsBanned(itemname)) + if (namelength > 0) { - args.Player.Disconnect("Using banned item: " + itemname + ", remove it and rejoin"); + string itemname = Encoding.ASCII.GetString(args.Data.ReadBytes(namelength)); + + if (!args.Player.Group.HasPermission("usebanneditem") && TShock.Itembans.ItemIsBanned(itemname)) + { + args.Player.Disconnect("Using banned item: " + itemname + ", remove it and rejoin"); + } } return false;