diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java index ad7f9c25..d7d5d849 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java @@ -79,6 +79,11 @@ public abstract class DefinedPacket } public static BaseComponent readBaseComponent(ByteBuf buf, int protocolVersion) + { + return readBaseComponent( buf, Short.MAX_VALUE, protocolVersion ); + } + + public static BaseComponent readBaseComponent(ByteBuf buf, int maxStringLength, int protocolVersion) { if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_20_3 ) { @@ -88,7 +93,7 @@ public abstract class DefinedPacket return ComponentSerializer.deserialize( json ); } else { - String string = readString( buf ); + String string = readString( buf, maxStringLength ); return ComponentSerializer.deserialize( string ); } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/SystemChat.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/SystemChat.java index 36dea975..7bad3d2b 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/SystemChat.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/SystemChat.java @@ -24,7 +24,7 @@ public class SystemChat extends DefinedPacket @Override public void read(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - message = readBaseComponent( buf, protocolVersion ); + message = readBaseComponent( buf, 262144, protocolVersion ); position = ( protocolVersion >= ProtocolConstants.MINECRAFT_1_19_1 ) ? ( ( buf.readBoolean() ) ? ChatMessageType.ACTION_BAR.ordinal() : 0 ) : readVarInt( buf ); }