diff --git a/message_generation/src/main/java/org/ros/internal/message/field/ChannelBufferField.java b/message_generation/src/main/java/org/ros/internal/message/field/ChannelBufferField.java index a13f5425..696131ae 100644 --- a/message_generation/src/main/java/org/ros/internal/message/field/ChannelBufferField.java +++ b/message_generation/src/main/java/org/ros/internal/message/field/ChannelBufferField.java @@ -64,7 +64,7 @@ public void serialize(ChannelBuffer buffer) { } // By specifying the start index and length we avoid modifying value's // indices and marks. - buffer.writeBytes(value, 0, value.readableBytes()); + buffer.writeBytes(value, 0, Math.max(value.readableBytes(), size)); } @Override