From 1ab1abffefa096433bb216ec3ad77f00bbb025f7 Mon Sep 17 00:00:00 2001 From: Nikita Date: Thu, 2 Nov 2017 10:28:08 +0300 Subject: [PATCH] ByteBuffer leak fixed --- .../corundumstudio/socketio/protocol/PacketDecoder.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java index c3e838c..1e9bce4 100644 --- a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java +++ b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java @@ -236,13 +236,13 @@ public class PacketDecoder { Packet binaryPacket = head.getLastBinaryPacket(); if (binaryPacket != null) { - ByteBuf attachBuf; if (frame.getByte(0) == 'b' && frame.getByte(1) == '4') { - attachBuf = frame; + binaryPacket.addAttachment(Unpooled.copiedBuffer(frame)); } else { - attachBuf = Base64.encode(frame); + ByteBuf attachBuf = Base64.encode(frame); + binaryPacket.addAttachment(Unpooled.copiedBuffer(attachBuf)); + attachBuf.release(); } - binaryPacket.addAttachment(Unpooled.copiedBuffer(attachBuf)); frame.readerIndex(frame.readerIndex() + frame.readableBytes()); if (binaryPacket.isAttachmentsLoaded()) {