Skip to content

Commit 752fe2e

Browse files
committed
fix issue with large binary objects
1 parent 0b25ab8 commit 752fe2e

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/main/org/bson/io/BasicOutputBuffer.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,15 @@ public int pipe( OutputStream out )
5353
}
5454

5555
void _ensure( int more ){
56-
if ( _cur + more < _buffer.length )
56+
final int need = _cur + more;
57+
if ( need < _buffer.length )
5758
return;
58-
byte[] n = new byte[_buffer.length*2];
59+
60+
int newSize = _buffer.length*2;
61+
if ( newSize <= need )
62+
newSize = need + 128;
63+
64+
byte[] n = new byte[newSize];
5965
System.arraycopy( _buffer , 0 , n , 0 , _size );
6066
_buffer = n;
6167
}

0 commit comments

Comments
 (0)