Skip to content

Commit 5bad0d4

Browse files
committed
Fixed #639
1 parent f20d936 commit 5bad0d4

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

release-notes/VERSION-2.x

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ JSON library.
2424
#630: Add `StreamWriteCapability` for further format-based/format-agnostic
2525
handling improvements
2626
#631: Add `JsonParser.getNumberValueExact()` to allow precision-retaining buffering
27+
#639: Limit initial allocated block size by `ByteArrayBuilder` to max block size
2728
- Deprecate `JsonParser.getCurrentTokenId()` (use `#currentTokenId()` instead)
2829

2930
2.11.2 (02-Aug-2020)

src/main/java/com/fasterxml/jackson/core/util/ByteArrayBuilder.java

+5
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ public final class ByteArrayBuilder extends OutputStream
5454

5555
public ByteArrayBuilder(BufferRecycler br, int firstBlockSize) {
5656
_bufferRecycler = br;
57+
// 04-Sep-2020, tatu: Let's make this bit more robust and refuse to allocate
58+
// humongous blocks even if requested
59+
if (firstBlockSize > MAX_BLOCK_SIZE) {
60+
firstBlockSize = MAX_BLOCK_SIZE;
61+
}
5762
_currBlock = (br == null) ? new byte[firstBlockSize] : br.allocByteBuffer(BufferRecycler.BYTE_WRITE_CONCAT_BUFFER);
5863
}
5964

0 commit comments

Comments
 (0)