From 2c1f336e97e51c96c26803064eee8a32dd55cae2 Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Wed, 13 Apr 2011 20:57:43 -0400 Subject: [PATCH] Fixed an oversight allowing players to set invalid positions. --- .../minecraft/server/NetServerHandler.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index 512b379124..0951937b1f 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -149,6 +149,30 @@ public class NetServerHandler extends NetHandler implements ICommandListener { player.kickPlayer("Nope!"); return; } + + if (Double.isNaN(packet10flying.a) || packet10flying.a == Double.POSITIVE_INFINITY || packet10flying.a == Double.NEGATIVE_INFINITY) { + System.err.println(player.getName() + " was caught trying to set an invalid position."); + player.kickPlayer("Nope!"); + return; + } + + if (Double.isNaN(packet10flying.b) || packet10flying.b == Double.POSITIVE_INFINITY || packet10flying.b == Double.NEGATIVE_INFINITY) { + System.err.println(player.getName() + " was caught trying to set an invalid position."); + player.kickPlayer("Nope!"); + return; + } + + if (Double.isNaN(packet10flying.c) || packet10flying.c == Double.POSITIVE_INFINITY || packet10flying.c == Double.NEGATIVE_INFINITY) { + System.err.println(player.getName() + " was caught trying to set an invalid position."); + player.kickPlayer("Nope!"); + return; + } + + if (Double.isNaN(packet10flying.d) || packet10flying.d == Double.POSITIVE_INFINITY || packet10flying.d == Double.NEGATIVE_INFINITY) { + System.err.println(player.getName() + " was caught trying to set an invalid position."); + player.kickPlayer("Nope!"); + return; + } // CraftBukkit end if (this.l) {