瀏覽代碼

BETA: NPE vulnerability fix by Tryskell.

Zoey76 13 年之前
父節點
當前提交
9df277c937
共有 1 個文件被更改,包括 21 次插入5 次删除
  1. 21 5
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java

+ 21 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java

@@ -133,24 +133,31 @@ public class PcInventory extends Inventory
 		FastList<L2ItemInstance> list = FastList.newInstance();
 		for (L2ItemInstance item : _items)
 		{
+			if (item == null)
+			{
+				continue;
+			}
 			if ((!allowAdena && item.getItemId() == ADENA_ID))
+			{
 				continue;
+			}
 			if ((!allowAncientAdena && item.getItemId() == ANCIENT_ADENA_ID))
+			{
 				continue;
-			
+			}
 			boolean isDuplicate = false;
 			for (L2ItemInstance litem : list)
 			{
-				if (item == null)
-					continue;
-				
 				if (litem.getItemId() == item.getItemId())
 				{
 					isDuplicate = true;
 					break;
 				}
 			}
-			if (!isDuplicate && (!onlyAvailable || ((item != null) && item.isSellable() && item.isAvailable(getOwner(), false, false)))) list.add(item);
+			if (!isDuplicate && (!onlyAvailable || item.isSellable() && item.isAvailable(getOwner(), false, false)))
+			{
+				list.add(item);
+			}
 		}
 		
 		L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]);
@@ -177,11 +184,17 @@ public class PcInventory extends Inventory
 		for (L2ItemInstance item : _items)
 		{
 			if (item == null)
+			{
 				continue;
+			}
 			if ((!allowAdena && item.getItemId() == ADENA_ID))
+			{
 				continue;
+			}
 			if ((!allowAncientAdena && item.getItemId() == ANCIENT_ADENA_ID))
+			{
 				continue;
+			}
 			
 			boolean isDuplicate = false;
 			for (L2ItemInstance litem : list)
@@ -192,8 +205,11 @@ public class PcInventory extends Inventory
 					break;
 				}
 			}
+			
 			if (!isDuplicate && (!onlyAvailable || (item.isSellable() && item.isAvailable(getOwner(), false, false))))
+			{
 				list.add(item);
+			}
 		}
 		
 		L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]);