diff --git a/src/main/java/net/schmizz/sshj/common/Buffer.java b/src/main/java/net/schmizz/sshj/common/Buffer.java index 183de8d3..c11852d7 100644 --- a/src/main/java/net/schmizz/sshj/common/Buffer.java +++ b/src/main/java/net/schmizz/sshj/common/Buffer.java @@ -372,6 +372,7 @@ public class Buffer> { @SuppressWarnings("unchecked") private T putUInt64Unchecked(long uint64) { + ensureCapacity(8); data[wpos++] = (byte) (uint64 >> 56); data[wpos++] = (byte) (uint64 >> 48); data[wpos++] = (byte) (uint64 >> 40); diff --git a/src/test/java/net/schmizz/sshj/common/BufferTest.java b/src/test/java/net/schmizz/sshj/common/BufferTest.java index 98a7a203..7e61ad9a 100644 --- a/src/test/java/net/schmizz/sshj/common/BufferTest.java +++ b/src/test/java/net/schmizz/sshj/common/BufferTest.java @@ -146,4 +146,28 @@ public class BufferTest { assertArrayEquals("Value: " + value, bytesLong, bytesBigInt); } } + + + @Test + public void shouldExpandCapacityOfUInt32(){ + PlainBuffer buf = new PlainBuffer(); + for(int i=0;i