aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/poi/hpsf/Blob.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/org/apache/poi/hpsf/Blob.java')
-rw-r--r--src/java/org/apache/poi/hpsf/Blob.java7
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);
}