diff --git a/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java b/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java index 8e9ae8c44..ee514a957 100644 --- a/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java +++ b/src/main/java/net/minestom/server/network/player/PlayerSocketConnection.java @@ -125,14 +125,10 @@ public class PlayerSocketConnection extends PlayerConnection { // Decompress to content buffer content = workerContext.contentBuffer.clear(); decompressedSize = dataLength; - try { - Inflater inflater = workerContext.inflater; - inflater.setInput(readBuffer.asByteBuffer(readBuffer.readerOffset(), payloadLength)); - inflater.inflate(content.asByteBuffer(0, dataLength)); - inflater.reset(); - } catch (DataFormatException e) { - MinecraftServer.getExceptionManager().handleException(e); - } + Inflater inflater = workerContext.inflater; + inflater.setInput(readBuffer.asByteBuffer(readBuffer.readerOffset(), payloadLength)); + inflater.inflate(content.asByteBuffer(0, dataLength)); + inflater.reset(); } } // Process packet @@ -156,6 +152,10 @@ public class PlayerSocketConnection extends PlayerConnection { readBuffer.reset(beginMark); this.cacheBuffer = BinaryBuffer.copy(readBuffer); break; + } catch (DataFormatException e) { + MinecraftServer.getExceptionManager().handleException(e); + disconnect(); + return; } } } diff --git a/src/main/java/net/minestom/server/network/socket/Worker.java b/src/main/java/net/minestom/server/network/socket/Worker.java index b5f627ee7..783a2e5cd 100644 --- a/src/main/java/net/minestom/server/network/socket/Worker.java +++ b/src/main/java/net/minestom/server/network/socket/Worker.java @@ -53,9 +53,12 @@ public final class Worker extends Thread { } catch (IOException e) { // TODO print exception? (should ignore disconnection) connection.disconnect(); + } catch (IllegalArgumentException e) { + MinecraftServer.getExceptionManager().handleException(e); + connection.disconnect(); } }); - } catch (IOException e) { + } catch (Exception e) { MinecraftServer.getExceptionManager().handleException(e); } }