Properly cleanup ByteBuf in WirePacket (#487)
* Properly cleanup ByteBuf * Release store ByteBuf also
Dieser Commit ist enthalten in:
Ursprung
1d11908af1
Commit
aed2285bcb
@ -158,7 +158,7 @@ public class WirePacket {
|
|||||||
* bytes from that packet
|
* bytes from that packet
|
||||||
*
|
*
|
||||||
* @param packet Existing packet
|
* @param packet Existing packet
|
||||||
* @return The ByteBuf
|
* @return the byte array
|
||||||
*/
|
*/
|
||||||
public static byte[] bytesFromPacket(PacketContainer packet) {
|
public static byte[] bytesFromPacket(PacketContainer packet) {
|
||||||
checkNotNull(packet, "packet cannot be null!");
|
checkNotNull(packet, "packet cannot be null!");
|
||||||
@ -177,6 +177,8 @@ public class WirePacket {
|
|||||||
|
|
||||||
byte[] bytes = getBytes(buffer);
|
byte[] bytes = getBytes(buffer);
|
||||||
|
|
||||||
|
buffer.release();
|
||||||
|
|
||||||
// Rewrite them to the packet to avoid issues with certain packets
|
// Rewrite them to the packet to avoid issues with certain packets
|
||||||
if (packet.getType() == PacketType.Play.Server.CUSTOM_PAYLOAD
|
if (packet.getType() == PacketType.Play.Server.CUSTOM_PAYLOAD
|
||||||
|| packet.getType() == PacketType.Play.Client.CUSTOM_PAYLOAD) {
|
|| packet.getType() == PacketType.Play.Client.CUSTOM_PAYLOAD) {
|
||||||
@ -195,6 +197,8 @@ public class WirePacket {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
store.release();
|
||||||
|
|
||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,7 +224,11 @@ public class WirePacket {
|
|||||||
throw new RuntimeException("Failed to serialize packet contents.", ex);
|
throw new RuntimeException("Failed to serialize packet contents.", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new WirePacket(id, getBytes(buffer));
|
byte[] bytes = getBytes(buffer);
|
||||||
|
|
||||||
|
buffer.release();
|
||||||
|
|
||||||
|
return new WirePacket(id, bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void writeVarInt(ByteBuf output, int i) {
|
public static void writeVarInt(ByteBuf output, int i) {
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren