Skip to content

Commit 9906e62

Browse files
Merge branch 'neopaf-issue87'
Fix premature EOF in UnsafeByteArrayInputStream Fixes #87 Fixes 88
2 parents 135df4e + 7cf07fa commit 9906e62

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/main/java/de/undercouch/bson4jackson/io/UnsafeByteArrayInputStream.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public UnsafeByteArrayInputStream(byte[] buf, int off, int len) {
5151

5252
@Override
5353
public int read() {
54-
return _pos >= _count ? -1 : _buf[_pos++];
54+
return _pos >= _count ? -1 : (_buf[_pos++] & 0xFF);
5555
}
5656

5757
@Override

src/test/java/de/undercouch/bson4jackson/io/UnsafeByteArrayInputStreamTest.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
* @author Michel Kraemer
1414
*/
1515
public class UnsafeByteArrayInputStreamTest {
16-
private static final byte[] BUF = "abcdefghijklmnopqrstuvwxyz\0\0".getBytes();
16+
private static final byte[] BUF = "aXcdefghijklmnopqrstuvwxyz\0\0".getBytes();
1717
static {
18+
BUF[1] = (byte)0xff;
1819
BUF[BUF.length - 1] = (byte)0xff;
1920
}
2021
private UnsafeByteArrayInputStream _in;
@@ -36,7 +37,7 @@ public void available() {
3637
@Test
3738
public void read() {
3839
assertEquals('a', _in.read());
39-
assertEquals('b', _in.read());
40+
assertEquals(0xFF, _in.read());
4041
assertEquals('c', _in.read());
4142

4243
byte[] b = new byte[10];
@@ -88,7 +89,7 @@ public void offset() {
8889
@Test
8990
public void mark() {
9091
assertEquals('a', _in.read());
91-
assertEquals('b', _in.read());
92+
assertEquals(0xFF, _in.read());
9293
assertEquals('c', _in.read());
9394
_in.mark(3);
9495
assertEquals('d', _in.read());

0 commit comments

Comments
 (0)