From 1aa718c217a3ccf80a85d1c0a30d1eec64835854 Mon Sep 17 00:00:00 2001 From: Zach Brown <1254957+zachbr@users.noreply.github.com> Date: Tue, 12 Apr 2016 23:08:55 -0500 Subject: [PATCH] Only allow non-zero value maxDistances for BlockIterators Prevents them from iterating infinitely and hanging the server --- ...-non-zero-maxDistance-BlockIterators.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Spigot-API-Patches/Only-allow-non-zero-maxDistance-BlockIterators.patch diff --git a/Spigot-API-Patches/Only-allow-non-zero-maxDistance-BlockIterators.patch b/Spigot-API-Patches/Only-allow-non-zero-maxDistance-BlockIterators.patch new file mode 100644 index 0000000000..661eba687e --- /dev/null +++ b/Spigot-API-Patches/Only-allow-non-zero-maxDistance-BlockIterators.patch @@ -0,0 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Zach Brown <1254957+zachbr@users.noreply.github.com> +Date: Tue, 12 Apr 2016 23:06:56 -0500 +Subject: [PATCH] Only allow non-zero maxDistance BlockIterators + +They can iterate infinitely causing the server to hang. +Fix your plugins! + +diff --git a/src/main/java/org/bukkit/util/BlockIterator.java b/src/main/java/org/bukkit/util/BlockIterator.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/util/BlockIterator.java ++++ b/src/main/java/org/bukkit/util/BlockIterator.java +@@ -0,0 +0,0 @@ public class BlockIterator implements Iterator { + * + */ + public BlockIterator(World world, Vector start, Vector direction, double yOffset, int maxDistance) { ++ com.google.common.base.Preconditions.checkArgument(maxDistance != 0, "maxDistance cannot be 0!"); // Paper - Only allow non-zero maxDistance + this.world = world; + this.maxDistance = maxDistance; + +-- \ No newline at end of file