Skip to content

Commit

Permalink
Fix NPE when retrieving an entity with a null UUID
Browse files Browse the repository at this point in the history
While the null UUID is almost certainly an error, the old
implementation did not NPE as it used a plain HashMap for lookup
by UUID, whereas we use a ConcurrentHashMap which will NPE on
null keys.
  • Loading branch information
Spottedleaf committed Jun 24, 2024
1 parent dd31654 commit dd49fba
Showing 1 changed file with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5900,7 +5900,7 @@ index 0000000000000000000000000000000000000000..997b05167c19472acb98edac32d4548c
+}
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
new file mode 100644
index 0000000000000000000000000000000000000000..3a8c192d1aed186ff506d69e3960e3b2792ddbd1
index 0000000000000000000000000000000000000000..f6a3eb3d1bb070bcc74133818682571d520d9894
--- /dev/null
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
@@ -0,0 +1,1044 @@
Expand Down Expand Up @@ -5994,15 +5994,15 @@ index 0000000000000000000000000000000000000000..3a8c192d1aed186ff506d69e3960e3b2
+
+ @Override
+ public Entity get(final UUID id) {
+ return maskNonAccessible(this.entityByUUID.get(id));
+ return maskNonAccessible(id == null ? null : this.entityByUUID.get(id));
+ }
+
+ public boolean hasEntity(final UUID uuid) {
+ return this.get(uuid) != null;
+ }
+
+ public String getDebugInfo() {
+ return "count_id:" + this.entityById.size() + ",count_uuid:" + this.entityByUUID.size() + ",region_count:" + this.regions.size();
+ return "count_id:" + this.entityById.size() + ",count_uuid:" + this.entityByUUID.size() + ",count_accessible:" + this.getEntityCount() + ",region_count:" + this.regions.size();
+ }
+
+ protected static final class ArrayIterable<T> implements Iterable<T> {
Expand Down

0 comments on commit dd49fba

Please sign in to comment.