From bbacb046368781a716beb4af0f406479d3fe7cee Mon Sep 17 00:00:00 2001 From: Fysac Date: Fri, 1 Aug 2014 13:36:18 -0400 Subject: [PATCH 1/2] Null pointer check Players who haven't joined your server since the UUID conversion will have a null name. As a result, if you try to /openinv a player who *has* joined your server since then, the loop can break due to a NPE while checking other players. This null check should fix that problem. --- src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java b/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java index 4f26cb9..0c3b463 100644 --- a/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java +++ b/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java @@ -80,7 +80,8 @@ public class PlayerDataManager implements IPlayerDataManager { OfflinePlayer[] offlinePlayers = Bukkit.getOfflinePlayers(); for (OfflinePlayer player : offlinePlayers) { String name = player.getName(); - + if (name == null) + continue; if (name.equalsIgnoreCase(search)) return player.getUniqueId(); -- 2.49.1 From 67d0f927ed9b3373c485169429c26386278e5eb4 Mon Sep 17 00:00:00 2001 From: Fysac Date: Fri, 1 Aug 2014 13:53:36 -0400 Subject: [PATCH 2/2] Add brackets to avoid ambiguity Java ignores indentation, which might cause headaches in the future. --- .../openinv/internal/v1_7_R4/PlayerDataManager.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java b/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java index 0c3b463..8cadf56 100644 --- a/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java +++ b/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java @@ -80,11 +80,13 @@ public class PlayerDataManager implements IPlayerDataManager { OfflinePlayer[] offlinePlayers = Bukkit.getOfflinePlayers(); for (OfflinePlayer player : offlinePlayers) { String name = player.getName(); - if (name == null) + + if (name == null){ continue; - if (name.equalsIgnoreCase(search)) + } + if (name.equalsIgnoreCase(search)){ return player.getUniqueId(); - + } if (name.toLowerCase().startsWith(lowerSearch)) { int curDelta = name.length() - lowerSearch.length(); if (curDelta < delta) { -- 2.49.1