diff --git a/buffer/src/main/java/io/netty/buffer/Unpooled.java b/buffer/src/main/java/io/netty/buffer/Unpooled.java index faaaabc2cd..420b7fe625 100644 --- a/buffer/src/main/java/io/netty/buffer/Unpooled.java +++ b/buffer/src/main/java/io/netty/buffer/Unpooled.java @@ -183,7 +183,7 @@ public final class Unpooled { if (!buffer.hasRemaining()) { return EMPTY_BUFFER; } - if (buffer.hasArray()) { + if (!buffer.isDirect() && buffer.hasArray()) { return wrappedBuffer( buffer.array(), buffer.arrayOffset() + buffer.position(),