public Command decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception {
if (bytes != null) {
int numArgs = bytes.length;
for (int i = arguments; i < numArgs; i++) {
if (in.readByte() == '$') {
<BUG>int size = readInteger(in);
bytes[i] = new byte[size];</BUG>
in.readBytes(bytes[i]);
if (in.bytesBefore(ByteBufIndexFinder.CRLF) != 0) {
throw new RedisException("Argument doesn't end in CRLF");

public Command decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception {
if (bytes != null) {
int numArgs = bytes.length;
for (int i = arguments; i < numArgs; i++) {
if (in.readByte() == '$') {
long l = readLong(in);
if (l > Integer.MAX_VALUE) {
throw new IOException("Value too large");
}
int size = (int) l;
bytes[i] = new byte[size];
in.readBytes(bytes[i]);
if (in.bytesBefore(ByteBufIndexFinder.CRLF) != 0) {
throw new RedisException("Argument doesn't end in CRLF");
