This is an automated email from the ASF dual-hosted git repository.
twolf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
The following commit(s) were added to refs/heads/master by this push:
new c411efb83 Fix Buffer.getShort()
c411efb83 is described below
commit c411efb834e9fc70aaf0494fa1cbe81c4b4bc24f
Author: Thomas Wolf <[email protected]>
AuthorDate: Thu Aug 17 21:16:24 2023 +0200
Fix Buffer.getShort()
---
.../java/org/apache/sshd/common/util/buffer/Buffer.java | 4 ++--
.../org/apache/sshd/common/util/buffer/BufferTest.java | 14 ++++++++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git
a/sshd-common/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
b/sshd-common/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
index 17f962d07..c9d73b269 100644
--- a/sshd-common/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
@@ -287,8 +287,8 @@ public abstract class Buffer implements Readable {
public short getShort() {
ensureAvailable(Short.BYTES);
getRawBytes(workBuf, 0, Short.BYTES);
- short v = (short) ((workBuf[1] << Byte.SIZE) & 0xFF00);
- v |= (short) (workBuf[0] & 0xF);
+ short v = (short) ((workBuf[0] << Byte.SIZE) & 0xFF00);
+ v |= (short) (workBuf[1] & 0xFF);
return v;
}
diff --git
a/sshd-common/src/test/java/org/apache/sshd/common/util/buffer/BufferTest.java
b/sshd-common/src/test/java/org/apache/sshd/common/util/buffer/BufferTest.java
index 22b04a102..8e2be33a3 100644
---
a/sshd-common/src/test/java/org/apache/sshd/common/util/buffer/BufferTest.java
+++
b/sshd-common/src/test/java/org/apache/sshd/common/util/buffer/BufferTest.java
@@ -110,4 +110,18 @@ public class BufferTest extends JUnitTestSupport {
assertFalse(e instanceof OutOfMemoryError);
assertEquals(8, buffer.array().length);
}
+
+ @Test
+ public void testShortPositive() {
+ ByteArrayBuffer buffer = new ByteArrayBuffer(2);
+ buffer.putShort(261);
+ assertEquals(261, buffer.getShort());
+ }
+
+ @Test
+ public void testShortNegative() {
+ ByteArrayBuffer buffer = new ByteArrayBuffer(2);
+ buffer.putShort(-2);
+ assertEquals(-2, buffer.getShort());
+ }
}