Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-27 08:30:09 +01:00
Patch the other mem leak fix across
Dieser Commit ist enthalten in:
Commit
b226e94981
@ -31,18 +31,20 @@ public class ViaDecodeHandler extends ByteToMessageDecoder {
|
|||||||
if (info.isActive()) {
|
if (info.isActive()) {
|
||||||
int id = Type.VAR_INT.read(bytebuf);
|
int id = Type.VAR_INT.read(bytebuf);
|
||||||
// Transform
|
// Transform
|
||||||
|
ByteBuf newPacket = ctx.alloc().buffer();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
PacketWrapper wrapper = new PacketWrapper(id, bytebuf, info);
|
PacketWrapper wrapper = new PacketWrapper(id, bytebuf, info);
|
||||||
ProtocolInfo protInfo = info.get(ProtocolInfo.class);
|
ProtocolInfo protInfo = info.get(ProtocolInfo.class);
|
||||||
protInfo.getPipeline().transform(Direction.INCOMING, protInfo.getState(), wrapper);
|
protInfo.getPipeline().transform(Direction.INCOMING, protInfo.getState(), wrapper);
|
||||||
ByteBuf newPacket = ctx.alloc().buffer();
|
|
||||||
wrapper.writeToBuffer(newPacket);
|
wrapper.writeToBuffer(newPacket);
|
||||||
|
|
||||||
bytebuf.clear();
|
bytebuf.clear();
|
||||||
bytebuf = newPacket;
|
bytebuf = newPacket;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
// Clear Buffer
|
||||||
bytebuf.clear();
|
bytebuf.clear();
|
||||||
|
// Release Packet, be free!
|
||||||
|
newPacket.release();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren