bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
60 return;
61 }
62
63 bridgePlayer.setChosenMaterial(type);64 menuManager.putInCooldown(uniqueId);
65
66 menuManager.showInventory(bridgePlayer);
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
45 }
46
47 final BridgePlayer bridgePlayer = playerService.getIfPresent(uniqueId);
48 if (bridgePlayer == null || bridgePlayer.getChoseMaterial() == type) {49 return;
50 }
51
bridgePlayer may be null at this point
60 return;
61 }
62
63 bridgePlayer.setChosenMaterial(type);64 menuManager.putInCooldown(uniqueId);
65
66 menuManager.showInventory(bridgePlayer);
bridgePlayer may be null at this point
28 return;
29 }
30
31 final GameIsland currentGame = bridgePlayer.getCurrentGame();32 if (currentGame == null) {
33 return;
34 }
bridgePlayer may be null at this point
24 private void onPlayerMove(final @NotNull PlayerMoveEvent event) {
25 final BridgePlayer bridgePlayer = playerService.getIfPresent(event.getPlayer()
26 .getUniqueId());
27 if (bridgePlayer == null ||!bridgePlayer.isPlaying()) {28 return;
29 }
30
bridgePlayer may be null at this point
28 return;
29 }
30
31 final GameIsland currentGame = bridgePlayer.getCurrentGame();32 if (currentGame == null) {
33 return;
34 }
bridgePlayer may be null at this point
24 private void onPlayerMove(final @NotNull PlayerMoveEvent event) {
25 final BridgePlayer bridgePlayer = playerService.getIfPresent(event.getPlayer()
26 .getUniqueId());
27 if (bridgePlayer == null ||!bridgePlayer.isPlaying()) {28 return;
29 }
30
bridgePlayer may be null at this point
28 return;
29 }
30
31 final GameIsland currentGame = bridgePlayer.getCurrentGame();32 if (currentGame == null) {
33 return;
34 }
bridgePlayer may be null at this point
24 private void onPlayerMove(final @NotNull PlayerMoveEvent event) {
25 final BridgePlayer bridgePlayer = playerService.getIfPresent(event.getPlayer()
26 .getUniqueId());
27 if (bridgePlayer == null ||!bridgePlayer.isPlaying()) {28 return;
29 }
30
bridgePlayer may be null at this point
24 private void onPlayerMove(final @NotNull PlayerMoveEvent event) {
25 final BridgePlayer bridgePlayer = playerService.getIfPresent(event.getPlayer()
26 .getUniqueId());
27 if (bridgePlayer == null ||!bridgePlayer.isPlaying()) {28 return;
29 }
30
bridgePlayer may be null at this point
24 private void onPlayerMove(final @NotNull PlayerMoveEvent event) {
25 final BridgePlayer bridgePlayer = playerService.getIfPresent(event.getPlayer()
26 .getUniqueId());
27 if (bridgePlayer == null ||!bridgePlayer.isPlaying()) {28 return;
29 }
30
bridgePlayer may be null at this point
28 return;
29 }
30
31 final GameIsland currentGame = bridgePlayer.getCurrentGame();32 if (currentGame == null) {
33 return;
34 }
location may be null at this point
54 BridgeUtil.sendMessage(player, Message.INSTANCE.lobbyMissing);
55 }
56
57 if (location != null && player.getWorld().equals(location.getWorld())) {58 // clears the player's inventory. in-case the PlayerQuitEvent missed it.
59 player.getInventory().clear();
60 }
location may be null at this point
54 BridgeUtil.sendMessage(player, Message.INSTANCE.lobbyMissing);
55 }
56
57 if (location != null && player.getWorld().equals(location.getWorld())) {58 // clears the player's inventory. in-case the PlayerQuitEvent missed it.
59 player.getInventory().clear();
60 }
bridgePlayer may be null at this point
23 private void onItemDrop(final @NotNull PlayerDropItemEvent event) {
24 final BridgePlayer bridgePlayer = playerService.getIfPresent(event.getPlayer()
25 .getUniqueId());
26 if (bridgePlayer == null || !bridgePlayer.isPlaying()) {27 return;
28 }
29
bridgePlayer may be null at this point
50 final Player player = (Player) event.getEntity();
51 final BridgePlayer bridgePlayer = playerService.getIfPresent(player
52 .getUniqueId());
53 if (bridgePlayer == null || !bridgePlayer.isPlaying()) {54 return;
55 }
56
bridgePlayer may be null at this point
38 final Player player = (Player) event.getEntity();
39 final BridgePlayer bridgePlayer = playerService.getIfPresent(player
40 .getUniqueId());
41 if (bridgePlayer == null || !bridgePlayer.isPlaying()) {42 return;
43 }
44
bridgePlayer may be null at this point
38 final Player player = (Player) event.getEntity();
39 final BridgePlayer bridgePlayer = playerService.getIfPresent(player
40 .getUniqueId());
41 if (bridgePlayer == null || !bridgePlayer.isPlaying()) {42 return;
43 }
44
Description
This code contains a possible null pointer dereference. Double-check the code to ensure that the concerned variable always has a non-null value when accessed.
Bad Practice
In the example below, if someCondition
is true, it is possible for value
to be null when it reaches the assignment
of valLen
.
String value = "something";
if (someCondition) {
value = null;
}
// ...
int valLen = value.length; // Null pointer exception!
Recommended
Check for null before you use the value at the vulnerable point in code.
int valLen = value != null ? value.length : 0;
If value
was instead never intended to be null, consider changing the preceding logic to ensure that value
is at
least set to a safe default wherever possible:
if (someCondition) {
value = "";
}
int valLen = value.length; // No exception thrown.
References
- CWE-476 - Null Pointer Dereference