diff --git a/transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java b/transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java index cdfeb7aaf7..e41b3724f6 100644 --- a/transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java +++ b/transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java @@ -304,11 +304,13 @@ public final class ChannelOutboundBuffer { */ public void removeBytes(long writtenBytes) { for (;;) { - final ByteBuf buf = (ByteBuf) current(); - if (buf == null) { + Object msg = current(); + if (!(msg instanceof ByteBuf)) { + assert writtenBytes == 0; break; } + final ByteBuf buf = (ByteBuf) msg; final int readerIndex = buf.readerIndex(); final int readableBytes = buf.writerIndex() - readerIndex;