diff --git a/redisson/src/main/java/org/redisson/codec/LZ4Codec.java b/redisson/src/main/java/org/redisson/codec/LZ4Codec.java index c0a358261..e87b32a3a 100644 --- a/redisson/src/main/java/org/redisson/codec/LZ4Codec.java +++ b/redisson/src/main/java/org/redisson/codec/LZ4Codec.java @@ -63,7 +63,11 @@ public class LZ4Codec implements Codec { LZ4SafeDecompressor decompressor = factory.safeDecompressor(); bytes = decompressor.decompress(bytes, bytes.length*3); ByteBuf bf = Unpooled.wrappedBuffer(bytes); - return innerCodec.getValueDecoder().decode(bf, state); + try { + return innerCodec.getValueDecoder().decode(bf, state); + } finally { + bf.release(); + } } }; diff --git a/redisson/src/main/java/org/redisson/codec/SnappyCodec.java b/redisson/src/main/java/org/redisson/codec/SnappyCodec.java index 7dea45be8..b4577ad84 100644 --- a/redisson/src/main/java/org/redisson/codec/SnappyCodec.java +++ b/redisson/src/main/java/org/redisson/codec/SnappyCodec.java @@ -57,7 +57,11 @@ public class SnappyCodec implements Codec { buf.readBytes(bytes); bytes = Snappy.uncompress(bytes); ByteBuf bf = Unpooled.wrappedBuffer(bytes); - return innerCodec.getValueDecoder().decode(bf, state); + try { + return innerCodec.getValueDecoder().decode(bf, state); + } finally { + bf.release(); + } } };