diff options
Diffstat (limited to 'src/java/org/apache/poi/hpsf/Blob.java')
-rw-r--r-- | src/java/org/apache/poi/hpsf/Blob.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/java/org/apache/poi/hpsf/Blob.java b/src/java/org/apache/poi/hpsf/Blob.java index af207feabb..07c2c2ffe8 100644 --- a/src/java/org/apache/poi/hpsf/Blob.java +++ b/src/java/org/apache/poi/hpsf/Blob.java @@ -16,18 +16,23 @@ ==================================================================== */ package org.apache.poi.hpsf; +import org.apache.poi.util.IOUtils; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndianInput; @Internal class Blob { + + //arbitrarily selected; may need to increase + private static final int MAX_RECORD_LENGTH = 1_000_000; + private byte[] _value; Blob() {} void read( LittleEndianInput lei ) { int size = lei.readInt(); - _value = new byte[size]; + _value = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH); if ( size > 0 ) { lei.readFully(_value); } |