From 03955428bc97365dfe29bf7ad8a319623c4c8a97 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Thu, 4 Apr 2013 14:50:25 +0900 Subject: [PATCH] Ensure BufUtil.release() is called even if writeBytes() fails in writeAndRelease() --- .../main/java/io/netty/handler/codec/OutputMessageBuf.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/codec/src/main/java/io/netty/handler/codec/OutputMessageBuf.java b/codec/src/main/java/io/netty/handler/codec/OutputMessageBuf.java index e77397bb6c..34b4013ac0 100644 --- a/codec/src/main/java/io/netty/handler/codec/OutputMessageBuf.java +++ b/codec/src/main/java/io/netty/handler/codec/OutputMessageBuf.java @@ -167,7 +167,10 @@ final class OutputMessageBuf extends DefaultMessageBuf { } private static void writeAndRelease(ByteBuf dst, ByteBuf src) { - dst.writeBytes(src, src.readerIndex(), src.readableBytes()); - BufUtil.release(src); + try { + dst.writeBytes(src, src.readerIndex(), src.readableBytes()); + } finally { + BufUtil.release(src); + } } }