From 3c61565867013764426e4e0fc408e5b102466574 Mon Sep 17 00:00:00 2001 From: tomerarazy Date: Sun, 13 Aug 2023 15:01:02 +0300 Subject: [PATCH] During warmup we call ByteBuf.release after decoding the value, however, the decoding action can fail which will lead to a memory leak, so we move the ByteBuf release to a finally block Signed-off-by: tomerarazy --- .../main/java/org/redisson/codec/JsonJacksonCodec.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/codec/JsonJacksonCodec.java b/redisson/src/main/java/org/redisson/codec/JsonJacksonCodec.java index 81b0c237e..1f5351a5c 100755 --- a/redisson/src/main/java/org/redisson/codec/JsonJacksonCodec.java +++ b/redisson/src/main/java/org/redisson/codec/JsonJacksonCodec.java @@ -120,12 +120,16 @@ public class JsonJacksonCodec extends BaseCodec { } warmedup = true; + ByteBuf d = null; try { - ByteBuf d = getValueEncoder().encode("testValue"); + d = getValueEncoder().encode("testValue"); getValueDecoder().decode(d, null); - d.release(); } catch (IOException e) { e.printStackTrace(); + } finally { + if (d != null) { + d.release(); + } } }