PaperMC/Spigot-Server-Patches/0159-Raise-string-limit-for-packet-serialization.patch

28 lines
1.3 KiB
Diff
Raw Normal View History

2017-06-19 03:36:55 +02:00
From 547a778aa20c6ec538350891551b174ff6c88973 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 21 Sep 2016 23:54:20 -0400
Subject: [PATCH] Raise string limit for packet serialization
The default limit is possible to hit with 50 page books with color codes, causing clients to disconnect.
Bump the limit up a hair to above currently seen sizes.
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
2017-06-19 03:36:55 +02:00
index a8fc7e43..c1273e98 100644
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java
+++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java
2017-05-14 20:05:01 +02:00
@@ -300,8 +300,8 @@ public class PacketDataSerializer extends ByteBuf {
public PacketDataSerializer a(String s) {
2017-05-14 20:05:01 +02:00
byte[] abyte = s.getBytes(StandardCharsets.UTF_8);
- if (abyte.length > 32767) {
2016-11-17 03:23:38 +01:00
- throw new EncoderException("String too big (was " + abyte.length + " bytes encoded, max " + 32767 + ")");
+ if (abyte.length > 44767) { // Paper - raise limit a bit more as normal means can trigger this
+ throw new EncoderException("String too big (was " + s.length() + " bytes encoded, max " + 44767 + ")"); // Paper
} else {
this.d(abyte.length);
this.writeBytes(abyte);
--
2017-06-19 03:36:55 +02:00
2.13.1.windows.2