diff --git a/buffer/src/main/java/io/netty/buffer/FixedCompositeByteBuf.java b/buffer/src/main/java/io/netty/buffer/FixedCompositeByteBuf.java index 08c8d7fc6a..c28af6f967 100644 --- a/buffer/src/main/java/io/netty/buffer/FixedCompositeByteBuf.java +++ b/buffer/src/main/java/io/netty/buffer/FixedCompositeByteBuf.java @@ -49,7 +49,7 @@ final class FixedCompositeByteBuf extends AbstractReferenceCountedByteBuf { order = ByteOrder.BIG_ENDIAN; nioBufferCount = 1; capacity = 0; - direct = false; + direct = Unpooled.EMPTY_BUFFER.isDirect(); } else { ByteBuf b = buffers[0]; this.buffers = buffers; diff --git a/buffer/src/test/java/io/netty/buffer/FixedCompositeByteBufTest.java b/buffer/src/test/java/io/netty/buffer/FixedCompositeByteBufTest.java index b6260f7848..a564bf1ce2 100644 --- a/buffer/src/test/java/io/netty/buffer/FixedCompositeByteBufTest.java +++ b/buffer/src/test/java/io/netty/buffer/FixedCompositeByteBufTest.java @@ -432,10 +432,12 @@ public class FixedCompositeByteBufTest { } @Test - public void testHasArrayWhenEmpty() { + public void testHasArrayWhenEmptyAndIsDirect() { ByteBuf buf = newBuffer(new ByteBuf[0]); assertTrue(buf.hasArray()); assertArrayEquals(EMPTY_BUFFER.array(), buf.array()); + assertEquals(EMPTY_BUFFER.isDirect(), buf.isDirect()); + assertEquals(EMPTY_BUFFER.memoryAddress(), buf.memoryAddress()); buf.release(); }