diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java b/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java index 29a47dc52..ebe455198 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java @@ -109,11 +109,11 @@ public class InByteBuffer { } public String readString() { - byte[] data = readBytes(readVarInt()); - if (data.length > ProtocolDefinition.STRING_MAX_LEN) { - throw new IllegalArgumentException(String.format("String max string length exceeded %d > %d", data.length, ProtocolDefinition.STRING_MAX_LEN)); + String string = new String(readBytes(readVarInt()), StandardCharsets.UTF_8); + if (string.length() > ProtocolDefinition.STRING_MAX_LEN) { + throw new IllegalArgumentException(String.format("String max string length exceeded %d > %d", string.length(), ProtocolDefinition.STRING_MAX_LEN)); } - return new String(data, StandardCharsets.UTF_8); + return string; } public long readVarLong() {